gpt4 book ai didi

android - 如何更改 Android 上选项菜单上的 MenuItem?

转载 作者:IT王子 更新时间:2023-10-28 23:55:47 25 4
gpt4 key购买 nike

我的 Activity 上有一个带有 MenuItem “开始”的选项菜单。选择此 MenuItem 时,我想更改菜单,使其包含一个 MenuItem “停止”。最后选择“停止”时,我想改回“开始”。

这是我的部分代码不起作用。我在 mymenu.xml 中同时列出了“开始”和“停止”我应该在创建菜单时删除“停止”:

public class MyActivity extends Activity {
private boolean isStarted = false;

@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
menu.removeItem(R.id.stop);
inflater.inflate(R.menu.mymenu, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.start:
isStarted = true;
return true;
case R.id.stop:
isStarted = false;
return true;
default:
return super.onOptionsItemSelected(item);
}
}

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
if(isStarted) {
menu.removeItem(R.id.start);
menu.add(R.id.stop);
} else {
menu.removeItem(R.id.stop);
menu.add(R.id.start);
}
return true;
}
}

最佳答案

对于这种类型的操作,我通常选择不改变菜单项,而只是隐藏你不需要的:

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
menu.findItem(R.id.start).setVisible(!isStarted);
menu.findItem(R.id.stop).setVisible(isStarted);
return true;
}

关于android - 如何更改 Android 上选项菜单上的 MenuItem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4199753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com