我在我的活动中定义了一个工具栏,该工具栏会扩展一个带有一个图标的菜单.我想要一种改变那个图标的方法;这样,当我点击它时,它会变为另一个图标或颜色……这是我的工具栏代码
final Toolbar bar = (Toolbar) findViewById(R.id.actionbar);
bar.setTitle(Html.fromHtml("<font color=#ffffff>" + getString(R.string.print_s) + "</font>"));
bar.setNavigationIcon(getResources().getDrawable(R.drawable.back_btn));
bar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DetailActivity.this.finish();
}
});
bar.inflateMenu(R.menu.fav);
bar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
int id = item.getItemId();
if (id == R.id.star) {
//I want to change my toolbar icon here,once when its clicked...
myFavourites();
return true;
}
return false;
}
});
XML部分(R.menu.fav)
<item
android:id="@+id/star"
android:icon="@mipmap/favorite_blue"
app:showAsAction="ifRoom"
android:title="@string/fav"/>
我想在点击时将favorite_blue图标更改为其他内容.
解决方法:
只需调用setIcon()方法即可.
在你的情况下,item.setIcon(你的drawable)