gpt4 book ai didi

android - menu.findItem(R.id.*) 为 null- Android

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:02:15 26 4
gpt4 key购买 nike

当我的应用程序中发生某些事情时,我试图启用/禁用刷新按钮,但我得到了一个我无法弄清楚的空指针异常。我根据情况将 bool 值 addingRefreshremovingRefresh 设置为 true,然后调用 invalidateOptionsMenu() 来启用或禁用按钮,但是菜单项返回 null。我在互联网上搜索了这可能是什么原因,但找不到任何东西。

onCreateOptionsMenu() 的代码(在调用 invalidateOptionsMenu() 时调用)

@Override
public boolean onCreateOptionsMenu(Menu menu) {
if (addingRefresh) {
//below line as well as other similar line cause exceptions
menu.findItem(R.id.action_refresh).setEnabled(true);
addingRefresh = false;
} else if (removingRefresh) {
menu.findItem(R.id.action_refresh).setEnabled(false);
removingRefresh = false;
} else if (addingLoading) {

}
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_activity_actions, menu);
return super.onCreateOptionsMenu(menu);
}

感谢您的帮助!

最佳答案

以下是您要完成的一些清理代码:

private MenuItem mMenuItem;

@Override
public boolean onCreateOptionsMenu(Menu menu) {
final MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_activity_actions, menu);
mMenuItem = menu.findItem(R.id.action_refresh)
return true;
}

private void setMenuItemEnabled(boolean enabled) {
mMenuItem.setEnabled(enabled);
}

希望对您有所帮助!

关于android - menu.findItem(R.id.*) 为 null- Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25902946/

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