我的主要活动中有此代码
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 起作用吗?
谢谢