【问题标题】:How to refresh next and previous Fragment view in view pager如何在视图寻呼机中刷新下一个和上一个片段视图
【发布时间】:2015-02-06 08:16:09
【问题描述】:

我正在做的是在视图寻呼机中显示片段,并在整个视图上实现了手势检测器。当我们触摸视图时,我想从当前片段和视图寻呼机中的所有其他片段中隐藏一些布局。

但问题是视图寻呼机会自动生成下一个和上一个视图 当我滑动到下一个视图时,它不会隐藏这些布局,而是隐藏其连续片段以外的其他片段布局都消失了。

如何从片段本身刷新视图寻呼机的连续片段。

提前感谢。

【问题讨论】:

    标签: android android-fragments android-viewpager


    【解决方案1】:

    您应该有一个活动来控制ViewPager 并检测要显示的片段。那是更新片段的地方。

    使用OnPageChangeListener 监听器并通知片段更改。

    如果您想从 Fragment 本身执行此操作,请尝试 onStart()onResume()

    【讨论】:

      【解决方案2】:

      片段可以被通知事件,因此它们可以采取相应的行动。

      这样做的一种方法是使用ViewPager Activity to notify a Fragment of a specific event 中的广播

      其他方式就像@Antonio 所说,在 OnPageChangeListener 上进行(我想这会更干净)。

      【讨论】:

      • 我正在使用这样的 OnPageChangeListener 并调用片段方法来更改视图的可见性,但它给了 NPE @Override public void onPageSelected(int arg0) { Fragment frag = adapter.getItem(arg0); ((PageFragment) frag).changeVisibility(MainActivity.this); }
      • 它把NPE扔到哪里去了?我的意思是,其中哪一个是空的?
      • 我想隐藏的布局 commonData = (CommonData) context.getApplication(); if (commonData.isViewHidden) { bottomRL.setVisibility(View.GONE); actionBarRL.setVisibility(View.GONE); } else { bottomRL.setVisibility(View.VISIBLE); actionBarRL.setVisibility(View.VISIBLE); } bottomRL 和 actionBarRL 为空
      • 好吧,你可能还有另一个问题。你能用更深入的代码示例来编辑你的帖子吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-08
      • 1970-01-01
      • 2012-11-27
      • 1970-01-01
      相关资源
      最近更新 更多