JoJ*_*Pla 7 android menuitem android-fragments actionbarsherlock
我正在寻找一种方法来设置MenuItem我的MainActivity中膨胀的可见性取决于我在哪Fragment.
有关信息:我使用actionBarSherlock,zxing以及一些google services.
该应用程序是使用导航抽屉(使用abs)构建的,我也是FragmentStack以这样的方式操作我每次切换到另一个片段时,当我按下触摸后我回到我的脑中Main Fragment.
我的菜单在这里:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/button_generator" android:title="GENERER" android:icon="@drawable/ic_drawer"></item>
</menu>
Run Code Online (Sandbox Code Playgroud)
这是我给菜单充气的地方:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
Log.d(TAG, "================= onCreateOptionsMenu ================= fragSt: " + fragmentStatus);
this.getSherlock().getMenuInflater().inflate(R.menu.main, menu);
mGenQrFromContacts = menu.findItem(R.id.button_generator);
return true;
}
Run Code Online (Sandbox Code Playgroud)
我已尝试过这里的解决方案,但在我的情况下不起作用.
fll*_*llo 16
你应该在你的尝试Fragment:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
// ...
// call the method setHasOptionsMenu, to have access to the menu from your fragment
setHasOptionsMenu(true);
//...
}
// the create options menu with a MenuInflater to have the menu from your fragment
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
menu.findItem(R.id.button_generator).setVisible(true);
super.onCreateOptionsMenu(menu, inflater);
}
Run Code Online (Sandbox Code Playgroud)
这个,在你的Activity:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getSupportMenuInflater().inflate(R.menu.my_layout, menu);
menu.findItem(R.id.button_generator).setVisible(false);
return true;
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
7036 次 |
| 最近记录: |