Android Java返回类型错误
我是Android新手,并在线学习了一些教程。然而,自教程发布以来,片段似乎发生了变化。现在我陷入了一个我似乎无法解决的错误。我在Android Java返回类型错误,java,android,Java,Android,我是Android新手,并在线学习了一些教程。然而,自教程发布以来,片段似乎发生了变化。现在我陷入了一个我似乎无法解决的错误。我在getItem方法的返回类型上收到错误“返回类型与FragmentPagerAdapter.getItem(int)不兼容”。知道为什么吗?如果我将返回类型更改为FriendsFragment,则会得到相同的错误。如果我将返回类型更改为Fragment,那么在方法内部会出现错误。请帮忙!提前谢谢。这是我的密码: package com.erinkabbash.ribb
getItem
方法的返回类型上收到错误“返回类型与FragmentPagerAdapter.getItem(int)
不兼容”。知道为什么吗?如果我将返回类型更改为FriendsFragment
,则会得到相同的错误。如果我将返回类型更改为Fragment,那么在方法内部会出现错误。请帮忙!提前谢谢。这是我的密码:
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;
}
}
除非签名完全匹配,否则无法执行重写。将getItem从返回InboxFragment更改为返回Fragment。除非签名完全匹配,否则无法执行重写。将getItem从返回InboxFragment更改为返回Fragment。您正在返回一个类型
InboxFragment
,并在代码行内插入return new FriendsFragment()
它不会接受它,因为它不是InboxFragment
的一种类型,而是Fragment
的一种类型,所以不要从getItem
方法返回InboxFragment
,而是将其更改为Fragment
示例:
public Fragment getItem(int position) {
您正在返回一个类型
InboxFragment
,并在代码行returnnewfriendsfragment()内加int
它不会接受它,因为它不是InboxFragment
的一种类型,而是Fragment
的一种类型,所以不要从getItem
方法返回InboxFragment
,而是将其更改为Fragment
示例:
public Fragment getItem(int position) {
您的类是InboxFragment和FriendsFragment扩展片段(android.support.v4.app.Fragment)吗?
android.support.v4.app.Fragment
和android.app.Fragment
彼此不兼容,FragmentPagerAdapter仅支持android.support.v4.app.Fragment
。
试一试,它应该可以工作。你的类在BoxFragment和FriendsFragment扩展片段(android.support.v4.app.Fragment)中吗?
android.support.v4.app.Fragment
和android.app.Fragment
彼此不兼容,FragmentPagerAdapter仅支持android.support.v4.app.Fragment
。
试试看,它应该能用。你好,谢谢你的帖子!我按照你说的做了,但是在我的每一个案例都陈述了..之后,我在方法中得到了错误。。“类型不匹配:无法从InboxFragment转换为Fragment”,快速修复建议我将方法的Fragment返回类型更改为InboxFragment,这将使我回到开始的位置。@ErinSKabbash是InboxFragment extends Fragment吗?InboxFragment设置为extendListFragment@ErinSKabbash朋友分手了吗?一样。我将导入中的所有内容都更改为v4,似乎解决了这个问题。。但是现在我得到了一个错误:“构造函数FragmentPagerAdapter(FragmentManager)未定义”在super(fm)上;你好,谢谢你的帖子!我按照你说的做了,但是在我的每一个案例都陈述了..之后,我在方法中得到了错误。。“类型不匹配:无法从InboxFragment转换为Fragment”,快速修复建议我将方法的Fragment返回类型更改为InboxFragment,这将使我回到开始的位置。@ErinSKabbash是InboxFragment extends Fragment吗?InboxFragment设置为extendListFragment@ErinSKabbash朋友分手了吗?一样。我将导入中的所有内容都更改为v4,似乎解决了这个问题。。但是现在我得到了一个错误:“构造函数FragmentPagerAdapter(FragmentManager)未定义”在super(fm)上;你好,谢谢你的帖子!我删除了覆盖并更改了返回类型,但在我的每一个案例中都出现了错误。。“类型不匹配:无法从InboxFragment转换为Fragment”,快速修复建议我将方法的Fragment返回类型更改为InboxFragment,这会使我回到开始的位置。您的收件箱片段是否从Fragment派生?如果不是,你可能有大问题。如果是这样,那应该是完全合法的。InboxFragment是为了扩展ListFragment而设置的。您是否在任何地方使用支持库?我想知道它是否把3.x片段和支持片段混在一起了。从你们的进口来看,很有可能。在任何地方都使用1或其他类型,它们不能混合。当所有其他类型都是v4时,我有一个v13!接得好。现在我得到这个错误“构造函数FragmentPagerAdapter(FragmentManager)未定义”您好,谢谢您的帖子!我删除了覆盖并更改了返回类型,但在我的每一个案例中都出现了错误。。“类型不匹配:无法从InboxFragment转换为Fragment”,快速修复建议我将方法的Fragment返回类型更改为InboxFragment,这会使我回到开始的位置。您的收件箱片段是否从Fragment派生?如果不是,你可能有大问题。如果是这样,那应该是完全合法的。InboxFragment是为了扩展ListFragment而设置的。您是否在任何地方使用支持库?我想知道它是否把3.x片段和支持片段混在一起了。从你们的进口来看,很有可能。在任何地方都使用1或其他类型,它们不能混合。当所有其他类型都是v4时,我有一个v13!接得好。现在我得到了这个错误“构造函数FragmentPagerAdapter(FragmentManager)未定义”,我在导入中将所有内容都更改为v4,似乎解决了这个问题。。但是现在我得到了一个错误:“构造函数FragmentPagerAdapter(FragmentManager)未定义”在super(fm)上;Line如果是android.app.ListFragment,则使用android.support.v4.app.ListFragment。v4是为了支持在冰激凌三明治出现之前构建的应用程序而开发的。使用android.support.v4.app.FragmentManager。如FragmentManager FragmentManager=mActivity.getSupportFragmentManager();谢谢,这是我的最后一期。非常感谢。那是不是意味着。。我是