我在我的主要活動機器人如何改變行動項目冠軍onOptionsItemSelected
public boolean onOptionsItemSelected(MenuItem item) {
int itemId = item.getItemId();
if (itemId == R.id.menu_edit) {
CharSequence title = item.getTitle();
Log.d("onOptionsItemSelected", "menu_edit title=" + title);
if(title=="Edit") {
// switch to RUn
item.setTitle("Run");
} else {
// switch to Edit
item.setTitle("Edit");
}
}
return super.onOptionsItemSelected(item);
}
此代碼按鈕被這樣定義
android:id="@+id/menu_edit"
android:orderInCategory="102"
android:showAsAction="ifRoom|withText"
android:title="Edit"/>
的基本思路是「編輯」按鈕切換到「運行」並按下後退。它有點工作,除了第一次按它它什麼也沒做,然後它工作正常:注意這是一個項目在操作欄上,而不是在菜單中,所以我不認爲onPrepareOptionsMenu有幫助,因爲它沒有被按下時按下按鈕在操作欄上。
有人可以建議一種方法來獲得第一次點擊以setTitle工作?
感謝
酷,謝謝,你是對的它的工作原理。但爲什麼? – steveh
,因爲==和equals之間的差別適用於字符串。看看這個問題http://stackoverflow.com/questions/767372/java-string-equals-versus –