我在action bar
(Wifi图标)上有一个菜单项。我可以通过改变wifi的状态(WIFI_ON
和WIFI_OFF
)更改图标,我可以使用onCreate()
在wifiManager.isWifiEnabled()
方法中检查我的应用启动时的wifi状态,但问题是我无法在onCreate
方法中设置菜单项的图标。最初,它会始终显示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;
答案 0 :(得分:2)
当您在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;
}