当前位置: 首页 > 知识库问答 >
问题:

FragmentStatePagerAdapter在重新选择选项卡时不调用getItem

白芷阳
2023-03-14

我有一个复杂的UI设置,如下所示:

public class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter
{       
    TrendsLV[] arrayOfTrendsFragments;

    public ScreenSlidePagerAdapter(FragmentManager fragmentManager)
    {

        super(fragmentManager);

        arrayOfTrendsFragments = new TrendsLV[NUM_PAGES];
        arrayOfTrendsFragments[0] = new TrendsLV(arrayOfMonths, 0);
        arrayOfTrendsFragments[1] = new TrendsLV(arrayOfMonths, 1);
        arrayOfTrendsFragments[2] = new TrendsLV(arrayOfMonths, 2);
    }

    @Override
    public Fragment getItem(int position) 
    {                       
        return arrayOfTrendsFragments[position];
    }

    @Override
    public int getCount() 
    {
        return NUM_PAGES;
    }   
}
public class TrendsPagerHolder extends Fragment implements ResultsListener
{
private void displayData()
{
    if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
    {   
        if (pagerAdapter == null)
            pagerAdapter = new ScreenSlidePagerAdapter(getFragmentManager());

        pager.setAdapter(pagerAdapter);
        pager.setCurrentItem(0);
    }
}
}

谢谢你。

共有1个答案

羊城
2023-03-14

我非常肯定在getItemPosition(Object Object)中返回POSITION_NONE将解决您的问题:

public int getItemPosition(Object object){
    return POSITION_NONE;
}

更多信息

 类似资料:
  • 我正在使用“tabs+swipe”项目,我很难删除一个片段。 我正在做的步骤: 从数据库中删除选项卡 从FragmentStatePagerAdapter数据源中删除选项卡 从操作栏中删除选项卡。 使用支持FragmentManager删除片段。 我的remove方法(从片段内调用): 感谢你的帮助!

  • 我想调用一个函数时,选择的任何选项。类似于这样: 但不知何故不起作用。有人能帮忙吗。 请注意 我不想捕获更改事件,如果我选择已经选择选项,则不会触发更改事件

  • 我无法在微调器中选择项目。当我单击微调器中的项目时,Logcat显示警告 W/InputManagerService(60):窗口已聚焦,忽略:com的聚焦增益。Android内部的看法IIInputMethodClient$存根$Proxy@406f3d90 代码示例 你能帮助我吗?

  • 我在主类中有这个类,用来在我的JTabbedPane上放置一个关闭按钮。问题是,例如,我打开了三个选项卡:journal、contact和upload,而contact选项卡是当前选择的选项卡。当我尝试关闭不是选定选项卡的日记选项卡时,关闭的是当前选定的选项卡。 这就是我调用选项卡的方法:

  • 我正在开发一个应用程序,使用ActionBar导航,我有3个标签(我不使用tabhost)如下图: 在第一个选项卡中,将显示一个名为FragmentListItem的片段,如果单击Item1,FragmentListItem将被另一个名为FragmentItemDetails的片段替换,该片段显示所选项的详细信息。 我的问题是,当我选择Tab2或tab3,然后再次选择Tab1,我得到的不再是fra

  • 我使用的是advanced element form multi-select。当我使用multi-select插入表单的一个字段时,它可以完美地插入。 但是当我使用相同的表单更新多选择字段时,此时在选择输入标签中不会选择以前的插入值。它是在下拉列表中选择的,我也不能改变选择的字段。 我遵循这个选择2文件 笔记 ajax响应工作正常 cdn、css和javascript正确集成 我试过这些代码 J