2015-06-03 28 views
0

我有一个具有两个片段(A和B)的选项卡视图的活动。片段A具有带嵌套片段C的frameLayout。选项卡更改时嵌套片段仍然可见

将C更改为D然后更改为另一个选项卡项时,片段D的方法“isVisible”仍然返回Visible,因此操作菜单是可见的。

我thoungt在此解决方案:

@Override 
public void onPrepareOptionsMenu(Menu menu) 
{ 
    boolean v = ((ActionBarActivity) getActivity()).getSupportActionBar().getSelectedTab().getPosition() == 0; 
    menu.findItem(R.id.act_search).setVisible(v); 
} 

,但它是世界XD的糟糕的解决方案

+0

问题很简单。我加入了替换的片段。谢谢 –

回答

0

的问题可能是FrameLayout里显示的单一视图,加入的FrameLayout意见被放置在布局的左上角以及添加到frameLayout的任何其他视图将与之前的视图重叠。 因此,请尝试使用其他布局,看看问题是否存在。

+0

它不起作用。片段C被片段D替换,但是当将选项卡视图(滚动到片段B)中时,片段D的操作栏中的图标不会丢弃。我检查了片段D的“isVisible”方法,它仍然返回true。 –

+0

我认为片段D在片段A上仍然可见,但它在屏幕上不可见。它可能吗? –

+0

isVisible应该告诉它是否在屏幕上可见,你可以分享一些代码吗?你使用视图寻呼机的碎片? – TommySM