我用下面的代碼的活動創建一個菜單:Android的Eclipse菜單中禁用
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu1, menu);
return true;
}
但這樣,我可以打開和關閉菜單的任何時間。 我想的是,菜單可以打開,如果布爾值爲true, 如果布爾是假的,用戶不應該能夠 打開菜單...
我用下面的代碼的活動創建一個菜單:Android的Eclipse菜單中禁用
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu1, menu);
return true;
}
但這樣,我可以打開和關閉菜單的任何時間。 我想的是,菜單可以打開,如果布爾值爲true, 如果布爾是假的,用戶不應該能夠 打開菜單...
我想你可以再補充一個ifstatement到功能:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
bool x = true;
if(x){
getMenuInflater().inflate(R.menu.menu1, menu);
return true;
} else {
return false;
}
}
我以前試過,它沒有工作,但現在它正在工作,所以我之前犯了另一個錯誤。謝謝! –
不客氣,不要忘記檢查答案,並關閉此問題:) – Baklap4
只是把if語句在代碼
@Override
public boolean onCreateOptionsMenu(Menu menu) {
if(yourbooleanvariable)
getMenuInflater().inflate(R.menu.menu1, menu);
return true;
}
如果您想保留此布爾vairable使用sharedpreferences的值是鏈接 How to use SharedPreferences in Android to store, fetch and edit values
http://stackoverflow.com/questions/5440601/android-how-to-enable-disable-option-menu-item-on-button-click – Hardik