【发布时间】:2018-03-11 22:52:43
【问题描述】:
我所有的片段都是 android.support.v4.app.Fragment 并且 Viewpager 扩展了 FragmentStatePagerAdapter,它也使用了 android.support.v4.app.Fragment。
我有一个扩展 PreferenceFragment 的 Fragment 类,我想将它与其他两个片段一起添加到我的 Viewpager 中。
我怎样才能做到这一点?
这是我的 ViewPager
public class SectionsPagerAdapter extends FragmentStatePagerAdapter {
private ArrayList<Fragment> mFragments = new ArrayList<>();
private ArrayList<String> mFragmentsTitle = new ArrayList<>();
public void addFragment(Fragment fragment, String title){
mFragments.add(fragment);
mFragmentsTitle.add(title);
}
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
return mFragments.get(position);
}
@Override
public int getCount() {
return mFragments.size();
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentsTitle.get(position);
}
}
这是我的 PreferenceFragment 中的内容
public class GameNotesFragment extends PreferenceFragment {
public GameNotesFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_game_notes, container, false);
return view;
}
}
当我尝试添加它时:
mSectionsPagerAdapter.addFragment(new GameNotesFragment(), "Note");
它给了我
Wrong firt argument com.example.fragments.GameNotesFragment', required: 'android.support.v4.app.Fragment'
【问题讨论】:
-
你的问题到底是什么?
-
问题是我无法在 viewpager 中添加 PrefrenceFragment
-
首先,“我无法在viewpager中添加我的PrefrenceFragment”是什么意思?它是否显示编译错误?还是运行时错误(例如异常)?其次,我很确定你不应该在
PreferenceFragment中覆盖onCreateView(...)。 -
我编辑了我的问题。请检查一下!
-
您使用了错误的基类。看看我的回答。
标签: android android-fragments android-viewpager