【发布时间】:2014-05-27 10:59:40
【问题描述】:
在我的 ActionBar 上,有一个项目有一个关于星号的图标(没有填充)。 当用户点击它时,图标会变为另一个图标(实心星形)。 但问题是,如果用户再次点击,图标不会再改变一次。
所以,这就是我想要的
icon1->click->icon2->click->icon1->click->icon2
我的项目 xml:
<item
android:id="@+id/bookmark"
android:icon="@drawable/bookmark"
android:showAsAction="ifRoom"
android:title="Add to Favorites"/>
actionBar 的我的 Java:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
menu.clear();
inflater.inflate(R.menu.activity_desc, menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(item.getItemId() == R.id.bookmark){
// i tried this: something like: if(item.getIcon() == (R.drawable.nobookmark){} it doesn't work
item.setIcon(R.drawable.nobookmark);
return true;
}
return true;
}
【问题讨论】:
-
无论您是否使用 ActionBarSherlock,这都是正确的。
-
请在代码示例中详细说明
-
但我不想使用 externam 库,我知道它可以做到,只是我不知道对数和逻辑,所以请帮忙
-
如果您可以根据您的答案在一个单独的框中更改我的代码(这样我就可以接受您的答案),那么我会非常高兴地接受您的答案,我会为您的答案打上绿色复选标记,拜托了
标签: java android xml android-actionbar icons