0

所以我有一个像这样实现的视图寻呼机 在此处输入图像描述

在主视图中,我在屏幕右上角有一个类似于导航栏的按钮。当我单击或滑动它时,我希望它消失,当它重新聚焦在主屏幕上时,我希望它再次出现。我已经尝试了几个小时,但没有运气。

我知道我需要使用setVisibility(View.GONE)/VISIBLE我只是不断获得空指针,否则图像不会改变。

我也实现OnPageChangeListener()并尝试使用 otto 事件来更改按钮状态,但从未收到该事件。

简而言之,主要目标是能够与 ViewPager 中未显示的任何视图上的元素进行交互

4

2 回答 2

1

尝试使用ArrayList<Fragment>,当你在时OnPageChangeListener(),用上一个和下一个片段做你想做的事情。

于 2014-07-12T09:23:53.510 回答
1

我前几天也遇到过这个问题,我overridesetUserVisibleHint()终于解决了。

public class YourFragement extend android.support.v4.app.Fragment {
    ...
    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if (isVisibleToUser) {
            mView.setVisibility(View.VISIBLE);
        } else {
            mView.setVisibility(View.GONE);
        }
    }
    ...
}

有人说覆盖setMenuVisibility()也有效,但我没有尝试过,更多信息在这个答案中讨论。

于 2014-07-12T13:24:53.510 回答