【发布时间】:2013-04-13 10:21:00
【问题描述】:
我已经查看了堆栈溢出的问题,但找不到解决方案。
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.themenu, menu);
MenuItem item = menu.findItem(R.id.menu_settings);
MenuItem item2 = menu.findItem(R.id.menu_save);
item.setVisible(isdown);
item2.setVisible(isdown);
return true;
}
这会将我的菜单项设置为可见(item1 和 item2)。 onclick 工作正常
public void inflateTextarea() {
if(isdown == true) {
isdown = false;
LinearLayout tl = (LinearLayout)findViewById(R.id.content);
tl.setVisibility(View.VISIBLE);
ScaleAnimation scale = new ScaleAnimation(1, 1, 0, 1);
scale.setFillAfter(true);
scale.setDuration(500);
tl.startAnimation(scale);
}
}
然后这会将我的 isdown 布尔值设置为 false。堆栈上的人说每次我单击时都应该触发 onPrepareOptionsMenu ,但事实并非如此。 我可以在 onclick 功能上隐藏一个菜单项
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) {
case R.id.menu_settings:
Log.v("Log:","edit_item pressed");
return true;
}
}
但我有多个需要隐藏的菜单项以及要显示的其他菜单项。 我该怎么办?
【问题讨论】:
标签: android menu android-actionbar