如何在 onCreate() 方法中获取菜单项的引用
How to get the reference of the menu item in onCreate() method
我在 action bar
(Wifi 图标)上有一个菜单项。我可以通过更改 wifi 状态(WIFI_ON
和 WIFI_OFF
)来更改图标,我可以使用 wifiManager.isWifiEnabled()
在 onCreate()
方法中检查我的应用程序启动时的 wifi 状态,但问题是我无法在 onCreate
中设置菜单项的图标 method.because 最初,它将始终显示 WIFI_OFF 图标(无论 wifi 是 ON
还是 OFF
),直到单击菜单项。
这是 onOptionItemSelected() 方法
case R.id.wifi_status:
if (!isWifiEnabled) {
item.setIcon(R.drawable.wifi_on);
wifiManager.setWifiEnabled(true);
isWifiEnabled = true;
} else {
item.setIcon(R.drawable.wifi_off);
isWifiEnabled = false;
wifiManager.setWifiEnabled(false);
}
break;
这是 activity 启动时应用程序的屏幕截图,因为无论 wifi 是 ON
还是 OFF
,都可以看到操作栏上的 wifi 按钮是关闭的
您通常会在 onCreateOptionsMenu
中展开菜单时设置初始值(假设您的菜单下方是 R.manu.main_menu
)
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
MenuItem wifiMenuItem = menu.findItem(R.id.wifi_status);
// set wifiMenuItem state here based on wifiManager.isWifiEnabled()
return true;
}
我在 action bar
(Wifi 图标)上有一个菜单项。我可以通过更改 wifi 状态(WIFI_ON
和 WIFI_OFF
)来更改图标,我可以使用 wifiManager.isWifiEnabled()
在 onCreate()
方法中检查我的应用程序启动时的 wifi 状态,但问题是我无法在 onCreate
中设置菜单项的图标 method.because 最初,它将始终显示 WIFI_OFF 图标(无论 wifi 是 ON
还是 OFF
),直到单击菜单项。
这是 onOptionItemSelected() 方法
case R.id.wifi_status:
if (!isWifiEnabled) {
item.setIcon(R.drawable.wifi_on);
wifiManager.setWifiEnabled(true);
isWifiEnabled = true;
} else {
item.setIcon(R.drawable.wifi_off);
isWifiEnabled = false;
wifiManager.setWifiEnabled(false);
}
break;
这是 activity 启动时应用程序的屏幕截图,因为无论 wifi 是 ON
还是 OFF
,都可以看到操作栏上的 wifi 按钮是关闭的
您通常会在 onCreateOptionsMenu
中展开菜单时设置初始值(假设您的菜单下方是 R.manu.main_menu
)
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
MenuItem wifiMenuItem = menu.findItem(R.id.wifi_status);
// set wifiMenuItem state here based on wifiManager.isWifiEnabled()
return true;
}