Java 点击时更改图像?
我有一个上下文操作栏,我想在按下项目时更改图标。我有这个密码Java 点击时更改图像?,java,android,xml,Java,Android,Xml,我有一个上下文操作栏,我想在按下项目时更改图标。我有这个密码 @Override public boolean onActionItemClicked(ActionMode mode, MenuItem item) { switch (item.getItemId()) { case R.id.menu_item1: mode.finish(); return t
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_item1:
mode.finish();
return true;
default:
return false;
}
}
在xml中
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_item1"
android:icon="@drawable/myNormalImage"
android:title="x"
android:showAsAction="always|withText" />
</menu>
当用户点击项目菜单时,我想设置另一个图像(按下图像)。如何操作?使用on-OnOptions ItemSelected方法
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.todaySched:
// put your code here to change the icon
return true;
default:
return super.onOptionsItemSelected(item);
}
}
假设您想将其从
@drawable/myNormalImage
更改为@drawable/myNormalImage
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_item1:
// change the icon first
item.setIcon(R.drawable.myAbnormalImage);
return true;
default:
return false;
}
}
试试这个
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_item1:
item.setIcon(your_condition? R.drawable.your_img1 : R.drawable.your_img2);
return true;
default:
return false;
}
}
您可以添加以下内容..希望这对您有所帮助
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_item1:
getActionBar().setIcon(R.drawable.xyz);
return true;
default:
return false;
}
}
如果您在Android 3.0+上运行代码,菜单中的图标不会按设计显示,为什么要这样做?