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+上运行代码,菜单中的图标不会按设计显示,为什么要这样做?