我有一个操作栏(使用 actionbarsherlock),其中有两个项目。其中之一是用户在我的应用程序中收集的点数。我想在点数变化时更改此操作栏按钮。
我不知道如何设置该按钮的 TextView。我该怎么做才能通过代码进行设置?
最佳答案
ActionBar 项目来自选项菜单,在栏上显示时呈现为按钮。如果您不提供图标,则选项 MenuItem 的标题将用作按钮的标题,
因此,除非您使用自定义 View ,并且您只是使用菜单项标题作为分数指示器,否则您可以在 onPrepareOptionsMenu()
中更改它。当你需要更新时,调用invalidateOptionsMenu()
,onPrepareOptionsMenu会被调用。
例如
//user scores some points
mUserScore += points;
invalidateOptionsMenu();
然后在回调中:
@Override
public void onPrepareOptionsMenu(Menu menu) {
MenuItem score = menu.findItem(R.id.score_menu_item);
score.setTitle(String.valueOf(mUserScore));
}
关于android - 为 Android Actionbar Button 动态更改文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13183221/