【发布时间】:2013-08-08 18:25:50
【问题描述】:
我的onCreateOptionsMenu() 中有一个SearchView,我用它来隐藏它:
if(mState == 0){
msearchMenuItem.setVisible(false);
}
我希望在访问作为ViewPager 一部分的自定义Fragment 后它是真的:
setMenuVisibility(boolean menuVisible){
}
我知道我不能将MenuItem 的引用传递给我的Fragment,因为ActionBar 不是layout,它的所有过程都需要来自MainActivity。
我的选择是在我的Fragment 中将mState 的值从setMenuVisibility() 更改,但在我与DrawerLayout 交互后它显示SearchView。如果我不触摸主页按钮,它将永远不会显示SearchView。
现在,当我在 Fragment 时,我该怎么做才能准确加载它?
【问题讨论】:
-
msearchMenuItem.setVisible(false);是在方法setMenuVisibility(boolean menuVisible)内还是在onOptionsItemSelected(MenuItem item)内。如果是后者,在菜单被触摸之前不会被调用。可能这就是为什么您在触摸菜单之前看不到它的原因。在这种情况下,您应该将其移至前一种方法setMenuVisibility。尝试发布完整代码 sn-ps 而不是部分代码,您将获得更好更快的答案。
标签: android android-fragments android-viewpager searchview