我是Android新手,在线学习了一些教程。但是,自教程发布以来,片段似乎发生了变化。现在我陷入了一个我似乎无法解决的错误。我在getItem
方法的返回类型上收到错误“返回类型与FragmentPagerAdapter.getItem(int)
不兼容”。任何想法为什么?如果我将返回类型更改为FriendsFragment
,则会出现相同的错误。如果我将返回类型更改为Fragment,那么我会在方法中出现错误。请帮忙!先谢谢了。以下是我的代码:Android Java返回类型错误
package com.erinkabbash.ribbit;
import java.util.Locale;
import android.app.Fragment;
import android.app.FragmentManager;
import android.content.Context;
import android.support.v13.app.FragmentPagerAdapter;
import android.support.v4.app.ListFragment;
/**
* A {@link FragmentPagerAdapter} that returns a fragment corresponding to
* one of the sections/tabs/pages.
*/
public class SectionsPagerAdapter extends FragmentPagerAdapter {
protected Context mContext;
public SectionsPagerAdapter(Context context, FragmentManager fm) {
super(fm);
mContext = context;
}
@Override
public InboxFragment getItem(int position) {
// getItem is called to instantiate the fragment for the given page.
// Return a PlaceholderFragment (defined as a static inner class
// below).
switch(position){
case 0:
return new InboxFragment();
case 1:
return new FriendsFragment();
}
return null;
}
@Override
public int getCount() {
return 2;
}
@Override
public CharSequence getPageTitle(int position) {
Locale l = Locale.getDefault();
switch (position) {
case 0:
return mContext.getString(R.string.title_section1).toUpperCase(l);
case 1:
return mContext.getString(R.string.title_section2).toUpperCase(l);
}
return null;
}
}
你好,感谢您的回复!我删除了覆盖,并改变了返回类型,但后来我得到的方法在我的每个案例说明..“类型不匹配:不能从InboxFragment转换为碎片”,快速修复建议我改变我的方法的Fragment返回类型到InboxFragment,让我回到我开始的地方。 – ErinSKabbash
您的收件箱片段是否源自片段?如果没有,你可能有很大的问题。如果是这样,那应该是完全合法的。 –
InboxFragment设置为扩展ListFragment – ErinSKabbash