无法识别 getSupportFragmentManager
getSupportFragmentManager is not recognized
如下代码所示,MainActivity
扩展了 FragmentActivity
,TabsPagerAdapter
扩展了 FragmentPagerAdapter
.
不知道为什么eclipse不识别这一行
viewPager = new TabsPagerAdapter(getSupportFragmentManager(), this.fragList);
MainActivity:
import java.util.List;
import com.example.settingsviewpagertabs.adapter.TabsPagerAdapter;
import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends FragmentActivity implements ActionBar.TabListener {
....
....
....
viewPager = new TabsPagerAdapter(getSupportFragmentManager(), this.fragList); //eclipse does not accept it
适配器:
import java.util.List;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
public class TabsPagerAdapter extends FragmentPagerAdapter {
List<Fragment> mFragList;
public TabsPagerAdapter(FragmentManager fm, List<Fragment> mFragList) {
super(fm);
// TODO Auto-generated constructor stub
this.mFragList = mFragList;
}
@Override
public Fragment getItem(int arg0) {
// TODO Auto-generated method stub
return this.mFragList.get(arg0);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return this.mFragList.size();
}
}
Update_1:
现在我正在使用以下进口产品,
当我使用
viewPager = new TabsPagerAdapter(getSupportFragmentManager(), this.fragList);
我收到以下消息:
Type mismatch: cannot convert from TabsPagerAdapter to ViewPager
我目前使用的导入是:
MainActivity:
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.view.ViewPager;
适配器导入:
import java.util.List;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
其实不是support fragment manager的问题。这是您 fragment list
的问题:
查看您的 tabs
适配器,您导入 import android.support.v4.app.Fragment;
。但是,在您的 FragmentActivity
中,您导入了 import android.app.Fragment;
。
--> 解决方案是更改 FragmentActivity
.
中的导入
您没有导入正确的 类(支持的)。变化:
import android.app.Fragment;
import android.app.FragmentTransaction;
在 MainActivity 中:
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
如下代码所示,MainActivity
扩展了 FragmentActivity
,TabsPagerAdapter
扩展了 FragmentPagerAdapter
.
不知道为什么eclipse不识别这一行
viewPager = new TabsPagerAdapter(getSupportFragmentManager(), this.fragList);
MainActivity:
import java.util.List;
import com.example.settingsviewpagertabs.adapter.TabsPagerAdapter;
import android.app.ActionBar;
import android.app.ActionBar.Tab;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.view.ViewPager;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends FragmentActivity implements ActionBar.TabListener {
....
....
....
viewPager = new TabsPagerAdapter(getSupportFragmentManager(), this.fragList); //eclipse does not accept it
适配器:
import java.util.List;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
public class TabsPagerAdapter extends FragmentPagerAdapter {
List<Fragment> mFragList;
public TabsPagerAdapter(FragmentManager fm, List<Fragment> mFragList) {
super(fm);
// TODO Auto-generated constructor stub
this.mFragList = mFragList;
}
@Override
public Fragment getItem(int arg0) {
// TODO Auto-generated method stub
return this.mFragList.get(arg0);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return this.mFragList.size();
}
}
Update_1:
现在我正在使用以下进口产品,
当我使用
viewPager = new TabsPagerAdapter(getSupportFragmentManager(), this.fragList);
我收到以下消息:
Type mismatch: cannot convert from TabsPagerAdapter to ViewPager
我目前使用的导入是:
MainActivity:
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.view.ViewPager;
适配器导入:
import java.util.List;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
其实不是support fragment manager的问题。这是您 fragment list
的问题:
查看您的 tabs
适配器,您导入 import android.support.v4.app.Fragment;
。但是,在您的 FragmentActivity
中,您导入了 import android.app.Fragment;
。
--> 解决方案是更改 FragmentActivity
.
您没有导入正确的 类(支持的)。变化:
import android.app.Fragment;
import android.app.FragmentTransaction;
在 MainActivity 中:
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;