Jer*_*emy 9 android actionbarsherlock android-actionbar
我有一个Action Bar(使用actionbarsherlock),里面有两个项目.其中之一是用户在我的应用中收集的积分数量.我想在点数变化时更改此操作栏按钮.
我无法弄清楚如何设置该Button的TextView.如何通过代码设置?
Jat*_*Tim 14
ActionBar项目来自选项菜单,在栏上显示时呈现为按钮.如果您没有提供图标,则选项MenuItem的标题将用作按钮的标题,
因此,除非您使用自定义视图,并且只是使用菜单项标题作为分数指示器,否则您可以更改它onPrepareOptionsMenu().当您需要更新,调用时invalidateOptionsMenu(),将为您调用onPrepareOptionsMenu.
例如
//user scores some points
mUserScore += points;
invalidateOptionsMenu();
Run Code Online (Sandbox Code Playgroud)
然后在回调中:
@Override
public void onPrepareOptionsMenu(Menu menu) {
MenuItem score = menu.findItem(R.id.score_menu_item);
score.setTitle(String.valueOf(mUserScore));
}
Run Code Online (Sandbox Code Playgroud)
首先,您不要设置"按钮的TextView",因为Button扩展了TextView,您可以设置Button本身的文本.您可以尝试在活动中按以下方式执行此操作onCreate():
//I suppose you create custom ActionBar like this
final View addView = getActivity().getLayoutInflater().inflate(R.layout.my_action_bar, null);
bar.setCustomView(addView);
button=(Button)addView.findViewById(R.id.button);
button.setText("Whatever");
Run Code Online (Sandbox Code Playgroud)
如果您使用菜单项,那么您应该尝试这种方法:
getSupportMenuInflater().inflate(R.menu.activitymenu, menu);
MenuItem menuItem=menu.findItem(R.id.menuSearch);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8884 次 |
| 最近记录: |