单击 ActionBar 中的图标无任何操作

No action on clicking icon in ActionBar

我正在使用来自 Android 开发人员的代码来显示 ActionBar,但我无法让它工作。如果我点击 在 ActionBar 的 icon 上没有响应,但单击文本 BACK(在本例中)有效;然而在 从 xml 文件(下方)中删除图标行,一切正常! 那么我该如何纠正呢?这是 res/menu/main_activity_actions.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- Search, should appear as action button -->
<item android:id="@+id/action_help"
      android:icon="@drawable/ic_action_help"
      android:title="@string/action_help"
      android:showAsAction="ifRoom" />
<item android:id="@+id/action_back"
      android:title="@string/action_back"
      android:showAsAction="ifRoom" />
</menu>

删除 "icon=" 行可以解决问题,但我希望显示图标。 MainActivity(仅响应 action_back 单击)和 strings.xml 个文件如下所示:

 @Override
 public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    switch(id){
        case R.id.action_help :
            Toast.makeText(this, "Help clicked", Toast.LENGTH_SHORT).show();
            return true;
        case R.id.action_back :
            Toast.makeText(this, "Back clicked", Toast.LENGTH_SHORT).show();
            return true;
        default :
            return super.onOptionsItemSelected(item);
    }
 }

 <resources>
     <string name="action_help">Help</string>
     <string name="action_back">Back</string>
 </resources> 
You have to include both this in your menu.xml file

appcompat v7
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"  

appcompat v7+
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:android="http://schemas.android.com/apk/res-auto" 
Use this code instead of yours and check whether its working or not.
Hope it works.   

 @Override
     public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        switch(id){
            case R.id.action_help :
                Toast.makeText(this, "Help clicked", Toast.LENGTH_SHORT).show();
              break;
            case R.id.action_back :
                Toast.makeText(this, "Back clicked", Toast.LENGTH_SHORT).show();
               break;


        }
     return super.onOptionsItemSelected(item);
     }