更改操作栏的按钮状态(图标)

时间:2013-01-24 13:23:28

标签: android android-fragments android-actionbar android-viewpager

当我在Action Bar中滑动片段时,如何动态更改ViewPager的操作按钮图标。根据片段按钮必须更改状态(图标)。

2 个答案:

答案 0 :(得分:1)

您可以在onPrepareOptionsMenu中设置正确的图标,然后在需要更新图标时使用invalidateOptionsMenu(或ActivityCompat.invalidateOptionsMenu如果您正在使用支持库)使操作栏无效

例如:

@Override
public boolean onPrepareOptionsMenu (Menu menu) {
  MenuItem item = menu.findItem(R.id.my_menu_id);
  item.setIcon(getMenuItemIconResId());
}

@Override
public void onPageSelected(int position) {
  invalidateOptionsMenu();
}

答案 1 :(得分:1)

我解决了这个问题:
1)我实施OnPageChangeLister
2)在setIcon()中调用onPageScrollStateChanged() 3)MenuItem定义为全局变量(类的字段)