gpt4 book ai didi

Android - 选项菜单上的可检查按钮

转载 作者:行者123 更新时间:2023-11-29 15:33:10 26 4
gpt4 key购买 nike

任何人都可以指出任何教程的方向,这些教程展示了如何创建带有可点击检查的选项菜单,如下图所示:


alt text http://img291.imageshack.us/img291/1221/deviceit.png


我试过如下:

/** Menu creation and setup **/

/* Creates the menu items */
public boolean onCreateOptionsMenu(Menu menu) {
boolean result = super.onCreateOptionsMenu(menu);

menu.add(0, 1, 0, "Speaker").setCheckable(true);
menu.add(0, 2, 0, "Mute").setCheckable(true);
return result;
}

/* Handles item selections */
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 1:
if(audioManager.isSpeakerphoneOn()==false){
audioManager.setSpeakerphoneOn(true);
audioManager.setRouting(AudioManager.MODE_IN_CALL,
AudioManager.ROUTE_SPEAKER, AudioManager.ROUTE_ALL);
}else{
audioManager.setSpeakerphoneOn(false);
audioManager.setRouting(AudioManager.MODE_IN_CALL,
AudioManager.ROUTE_EARPIECE, AudioManager.ROUTE_ALL);
}
return true;
case 2:
if(audioManager.isMicrophoneMute())
audioManager.setMicrophoneMute(false);
else
audioManager.setMicrophoneMute(true);
return true;
}
return false;
}

但这不起作用,它只在选项菜单的按钮上给我文本

编辑:我添加了以下 onPrepareOptionsMenu 方法:

public boolean onPrepareOptionsMenu(Menu menu){
boolean result = super.onPrepareOptionsMenu(menu);

if(audioManager.isSpeakerphoneOn())
menu.findItem(1).setChecked(true);
else
menu.findItem(1).setChecked(false);

if(audioManager.isMicrophoneMute())
menu.findItem(2).setChecked(true);
else
menu.findItem(2).setChecked(false);


return result;
}

然而,我得到的结果与上图相同,只是文字,没有检查灯

最佳答案

如果你想动态改变选项菜单的状态,你需要使用onPrepareMenu()。在这种方法中,您可以进行动态检查并更新您想要的任何内容。祝你好运!!
documentation

经过一些挖掘,这看起来像一个自定义 View 。我想你的照片来了from this code .

关于Android - 选项菜单上的可检查按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3423404/

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