Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android sherlock actionbar菜单项出错_Android_Eclipse_Actionbarsherlock_Menuitem_Android Version - Fatal编程技术网

android sherlock actionbar菜单项出错

android sherlock actionbar菜单项出错,android,eclipse,actionbarsherlock,menuitem,android-version,Android,Eclipse,Actionbarsherlock,Menuitem,Android Version,正如标题所示,由于我最近在eclipse和jdk-7u76-windows-i586下安装了AndroidAPI22,所以操作栏出现了问题。在操作栏之前,保持显示sdk版本7及更高版本的图标。但现在图标仅在sdk版本11及更高版本中显示,我是错过了什么还是我只是瞎了眼?以下是菜单XML文件和屏幕截图: <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id

正如标题所示,由于我最近在eclipse和jdk-7u76-windows-i586下安装了AndroidAPI22,所以操作栏出现了问题。在操作栏之前,保持显示sdk版本7及更高版本的图标。但现在图标仅在sdk版本11及更高版本中显示,我是错过了什么还是我只是瞎了眼?以下是菜单XML文件和屏幕截图:

<menu xmlns:android="http://schemas.android.com/apk/res/android">

<item android:id="@+id/share"
      android:icon="@drawable/ic_action_add_group"
      android:title="share info"
      android:showAsAction="ifRoom" />
   <style name="AppTheme"    
  parent="android:Theme.Holo.Light.DarkActionBar"  />

   </resources>


很好,我终于找到了答案。但奇怪的是,在sdk更新之前使用的代码可以正常工作:这意味着新版本的sdk对XML文件有很好的改进。然后,最旧版本会检测到更多错误。
   <style name="AppTheme"    
  parent="android:Theme.Holo.Light.DarkActionBar"  />

   </resources>
现在如何解决夏洛克行动栏菜单项的问题?

   <style name="AppTheme"    
  parent="android:Theme.Holo.Light.DarkActionBar"  />

   </resources>
  • 如果您希望它适用于android api 11及更高版本(android 4.x或5.x) 只需添加以下代码:
    在rsc/menu/中创建一个文件,例如:menu.xml
    现在付诸表决:

       <style name="AppTheme"    
      parent="android:Theme.Holo.Light.DarkActionBar"  />
    
       </resources>
    
    • 如果您希望它适用于AndroidAPI7到10(Android2.x到Android3.x) 在课堂活动中使用类似的方法:

         <style name="AppTheme"    
        parent="android:Theme.Holo.Light.DarkActionBar"  />
      
         </resources>
      
          @Override
          public boolean onCreateOptionsMenu(Menu menu){
      
          MenuInflater inflater = getSupportMenuInflater();
          inflater.inflate(R.menu.men, menu);
      
      
             return true;
          }
      
        THEME == R.style.Theme_Sherlock_Light;
      
        @Override
      
        public boolean onCreateOptionsMenu(Menu menu){
      
      
      
         boolean isLight = THEME == R.style.Theme_Sherlock_Light;
      
        menu.add(R.string.Send)
      
       .setIcon(isLight ? R.drawable.ic_action_group : 
      
          R.drawable.ic_action_person)
           .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
      
         menu.add(R.id.get)
                    .setIcon(isLight ?   
      
        R.drawable.ic_action_chat:          
         R.drawable.ic_action_chat)
             .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM |           
      
            MenuItem.SHOW_AS_ACTION_WITH_TEXT);
      
          menu.add("Refresh")
          .setIcon(isLight ? R.drawable.ic_action_time :        
      
          R.drawable.ic_action_volume_on)
           .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM |   
           MenuItem.SHOW_AS_ACTION_WITH_TEXT);
        return true;
                }
      
      要响应单击,请使用以下内容:

         <style name="AppTheme"    
        parent="android:Theme.Holo.Light.DarkActionBar"  />
      
         </resources>
      
      @Override
       public boolean onOptionsItemSelected(MenuItem item) {
      
      
           if (item.toString()==getString(R.string.Send)) {
            Toast.makeText(MainActivity.this, "Got click: " + item,       
       Toast.LENGTH_SHORT).show();
       }
      
        return super.onOptionsItemSelected(item);
       } 
      
      并添加一个示例样式:在src/values/中:

         <style name="AppTheme"    
        parent="android:Theme.Holo.Light.DarkActionBar"  />
      
         </resources>
      
       <?xml version="1.0" encoding="utf-8"?>
      
      <resources>
      <style name="Theme.Styled"   
      
      parent="Theme.Sherlock.Light.DarkActionBar">
      
      <item name="actionBarStyle">@style/Widget.Styled.ActionBar</item>
      
      <item      
      name="android:actionBarStyle">@style/Widget.Styled.ActionBar</item>
           </style>
      
       <style name="Widget.Styled.ActionBar" 
      
                  parent="Widget.Sherlock.Light.ActionBar.Solid.Inverse">
      
      <item name="background">@drawable/bg_striped</item>
      <item name="android:background">@drawable/bg_striped</item>
      
      <item name="backgroundSplit">@drawable/bg_striped_split</item>
      <item         
      name="android:backgroundSplit">@drawable/bg_striped_split</item>
       </style>
       </resources>
      
      
      @style/Widget.Styled.ActionBar
      @style/Widget.Styled.ActionBar
      @可拉拔/bg_条纹
      @可拉拔/bg_条纹
      @可拉伸/背景条纹分割
      @可拉伸/背景条纹分割