gpt4 book ai didi

java - FragmentPagerAdapter 未从 getItem 返回正确的 View

转载 作者:行者123 更新时间:2023-12-01 11:47:14 24 4
gpt4 key购买 nike

首先,我有一个 fragment 列表

icons.add(new Home()));
icons.add(new NewsFragment()));
for (int i=0; i<gs.pages.size(); i++) {
SchoolPg page = gs.pages.get(i);
if (page.page_parent_id.equals("0")) {
icons.add(new PageFragment());
}
}
icons.add(new InfoFragment());

正如你所看到的,第一个是首页,然后是新闻 fragment ,然后是页面 fragment 列表,最后一个是信息 fragment 。

问题是,在 get Item 中,当我更改为 View 寻呼机位置 1 时,该位置应该是 News Fragment ,但它转到了 Page Fragment ,为什么以及如何修复它?谢谢

public class SampleFragmentPagerAdapter extends FragmentPagerAdapter {

public SampleFragmentPagerAdapter(FragmentManager fm, Context context) {
super(fm);
}

@Override
public int getCount() {
return icons.size();
}

@Override
public Fragment getItem(int position) {
return icons.get(position).frag;
}

@Override
public CharSequence getPageTitle(int position) {
return null;
}
}

更新:

如果我选择位置 2 并选择位置 1 ,它就可以工作,但是,如果我选择 select 1 以外的其他位置,则会失败

发现它运行了两次

当我点击位置1时,它首先运行位置 1 - 打开 NewsFragment但同时运行位置2 - 打开PageFragment

最佳答案

您的Fragment将按如下方式排列:

位置 0: NewsFragment

位置 1: PageFragment

<强>。 。 。 .

位置 (n-2): PageFragment

位置 (n-1): InfoFragment

其中n = icon.size();

icons这样的数组仍然从索引0开始排序,这是C时代的遗物。希望你知道这一点!

关于java - FragmentPagerAdapter 未从 getItem 返回正确的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29060967/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com