gpt4 book ai didi

java - 以编程方式更改选项菜单按钮图像 - 资源 NotFoundException

转载 作者:行者123 更新时间:2023-12-01 22:45:11 28 4
gpt4 key购买 nike

我的选项菜单中有一个麦克风按钮。当我单击它时,我希望它显示备用图像(红色麦克风)。

但是它不起作用。失败并出现 ResourcesNotFoundException。图像(png)肯定位于适当的 res 文件夹中。

这是我的代码: Activity 中:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.ic_action_microphone :
MenuItem rec = m_menu.findItem(R.id.ic_action_microphone);
if (m_start) {
rec.setIcon(R.id.ic_action_microphone_active);
startRecording();
} else {
rec.setIcon(R.id.ic_action_microphone);
stopRecording();
}
return true;
default:
return super.onOptionsItemSelected(item);
}
}

在 xml 文件中:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/ic_action_microphone"
android:icon="@drawable/ic_action_microphone"
android:title="@string/action_microphone"
android:showAsAction="always"/>
<item android:id="@+id/ic_action_microphone_active"
android:icon="@drawable/ic_action_microphone_active"
android:title="@string/action_microphone"/>
</menu>

我做错了什么?

提前致谢

最佳答案

试试这个:通过提供可绘制资源文件夹中的图像来设置图标。

@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId()) {
case R.id.ic_action_microphone :
MenuItem rec = m_menu.findItem(R.id.ic_action_microphone);
if (m_start) {
rec.setIcon(R.drawable.ic_action_microphone_active);
startRecording();
} else {
rec.setIcon(R.drawable.ic_action_microphone);
stopRecording();
}
return true;
default:
return super.onOptionsItemSelected(item);
}
}

您可能想从可绘制对象而不是 ID 中设置资源。我希望这对您有帮助。

关于java - 以编程方式更改选项菜单按钮图像 - 资源 NotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25477491/

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