0

我有一个使用 FragmentStatePagerAdapter 的 Viewpager。每个页面都是一个片段。我的页面包含默认可见的线性布局 (llTags)。

如果用户单击页面(片段的主要布局),则线性布局必须不可见(有效),但其他线性布局(其他页面中的 llTags)也需要更改。

如果我单击,则线性布局的可见性会在上一个和下一个之外的所有页面上更改。这是因为不再为下一个/上一个项目调用来自适配器的 getItem。我如何通知这些页面。

ps:我有一个 newInstance 方法和一个公共 void setTagslayoutVisible(boolean) 用于更改适配器的可见性。

4

1 回答 1

0

Next 和 previous 已经加载,并且适配器不会调用创建。

快速尝试一下,如果您的片段已经加载,则在您的适配器 get 函数中返回这些对象。所以只需添加这样的东西

if(myMap.containsKey(position))
{
      LiveStreamFullScreenFragment lfsf = (LiveStreamFullScreenFragment) myMap.get(position));
      lfsf.setShowTags(mShowTags);
      return lfsf;
} else
{

在你的片段类中

public void setShowTags(boolean showtags)
{
    mShowTags = showtags;
    if(!mShowTags)
    {
         llLiveStreamTags.setVisibility(View.GONE);
    }
}

希望这对您有所帮助并享受您的工作。

于 2013-05-15T11:00:51.030 回答