【发布时间】:2015-04-15 17:26:09
【问题描述】:
我有一个TabsPagerAdapter 类,如下所示。 FirstFragment、SecondFragment 和 ThirdFragment 类都扩展了Fragment,一切都很好。
然后我将 SecondFragment 更改为扩展 ListFragment,现在出现编译错误:
类型不匹配:无法从 SecondFragment 转换为 Fragment
ListFragment 扩展了Fragment,所以在我看来。这应该不是问题。
我该怎么办?
SecondFragment 中的导入为:
import android.app.ListFragment;
类:
public class TabsPagerAdapter extends FragmentPagerAdapter {
private Context mContext;
public TabsPagerAdapter(FragmentManager fragmentManager, Context context) {
super(fragmentManager);
mContext = context;
}
@Override
public Fragment getItem(int index) {
Fragment returnFragment = null;
switch (index) {
case 0:
returnFragment = new FirstFragment(mContext);
break;
case 1:
returnFragment= new SecondFragment(mContext);
break;
case 2:
returnFragment = new ThirdFragment(mContext);
break;
}
return returnFragment;
}
@Override
public int getCount() {
// get item count - equal to number of tabs
return 3;
}
}
【问题讨论】:
-
检查导入。可能您导入了错误的 ListFragment。片段也应该只有空的构造函数
-
添加了更多信息以阐明 ListFragment 类
-
现在检查你在
TabsPagerAdapter中导入了哪个Fragment -
就是这样。这是一个 ...support.v4 ...。所以发布一个关于检查正确的片段类(支持与否)的效果的答案,我会接受。