这是我的片段页面适配器。
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
public class MyFragmentPagerAdapter extends FragmentPagerAdapter {
private String[] pageTitle = {
"Page1", "Page2", "Page3"
};
public MyFragmentPagerAdapter(FragmentManager fragmentManager) {
super(fragmentManager);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0: return new PageFragment();
case 1: return new PageFragment2();
case 2: return new PageFragment3();
}
Fragment fragment = new PageFragment();
Bundle arguments = new Bundle();
arguments.putString("pageIndex", Integer.toString(position + 1));
fragment.setArguments(arguments);
return fragment;
}
@Override
public int getCount() {
return pageTitle.length;
}
@Override
public CharSequence getPageTitle(int position) {
return pageTitle[position];
}
}
为什么我在这一行中出错:case 0:return new PageFragment();和Fragment fragment = new PageFragment();错误是“类型不匹配:无法从PageFragment转换为Fragment”如何修复?是否可以使它(Viewpager)与Android 2.2或2.3兼容?
答案 0 :(得分:0)
PageFragment
应扩展Fragement
或其他Fragment类(例如ListFragment
)。您尚未发布PageFragment
的代码,因此很难说。
此外,我们了解到您只有3个页面,因此getItem
中的代码无效,因为它始终会返回switch
的一个案例,switch
之后的代码将会返回永远不会到达。