我遇到的问题是 ActionBar上有个search的图标,当用户点击Search图标时候要变成正在搜索中的图标。
点击之前是上一个图标,点击之后是下面的search图标。
代码分享:
成员变量
boolean isNeedChangeSearchIcon = false;
public boolean onPrepareOptionsMenu(Menu menu) { if (isNeedChangeSearchIcon) { MenuItem search = menu.findItem(R.id.favorite0searchButton); search.setIcon(R.drawable.favorite_search_selected_unfocused); } return super.onPrepareOptionsMenu(menu); } public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.favorite_titlebar_menu, menu); return super.onCreateOptionsMenu(menu); } public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.favorite0searchButton: { if (!isNeedChangeSearchIcon) { this.getWindow().invalidatePanelMenu(Window.FEATURE_OPTIONS_PANEL); invalidateOptionsMenu(); isNeedChangeSearchIcon = true; } break; } } return super.onOptionsItemSelected(item); }