2012-11-15 99 views
2

有相當奇怪的問題「沒有資源的發現,給定的名稱匹配(在‘圖標’,值爲」

下面

是我的菜單activity_action_bar_main.xml,並抱怨在

android:icon="@android:drawable/ic_action_view_as_list" 

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

    <item 
     android:id="@+id/menu_settings" 
     android:orderInCategory="100" 
     android:showAsAction="ifRoom|withText" 
     android:title="Action Bar1" 
     android:icon="@android:drawable/ic_action_view_as_list"/> 

</menu> 

它抱怨我的圖標

[2012-11-15 02:38:53 - TabsimpleActionBar] W/ResourceType(3908): Bad XML block: header size 789 or total size 0 is larger than data size 0 
[2012-11-15 02:38:53 - TabsimpleActionBar] C:\Users\djzingo\workspace1\TabsimpleActionBar\res\menu\activity_action_bar_main.xml:4: error: Error: No resource found that matches the given name (at 'icon' with value '@android:drawable/ic_action_view_as_list'). 

但我在我的代碼的其他地方使用它,它,因爲它應該,所以我現在是在地方顯示出來。

package com.ahmad.actionBar; 

import android.annotation.SuppressLint; 
import android.app.ActionBar; 
import android.app.ActionBar.Tab; 
import android.app.ActionBar.TabListener; 
import android.app.Activity; 
import android.app.FragmentTransaction; 
import android.os.Bundle; 
import android.view.Menu; 
import android.widget.RelativeLayout; 

@SuppressLint("NewApi") 
public class ActionBarMain extends Activity implements TabListener { 
    RelativeLayout rl; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_action_bar_main); 
     try { 
      rl = (RelativeLayout) findViewById(R.id.mainLayout); 
      fragMentTra = getFragmentManager().beginTransaction(); 
      ActionBar bar = getActionBar(); 
      bar.addTab(bar.newTab() 
        .setText("Collection") 
        .setIcon(R.drawable.ic_action_view_as_list)//It works here 
        .setTabListener(this));;; 

      bar.addTab(bar.newTab() 
         .setText("Summary") 
         .setIcon(R.drawable.ic_action_info) 
         .setTabListener(this));;; 


      bar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM 
        | ActionBar.DISPLAY_USE_LOGO); 
      bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
      bar.setDisplayShowHomeEnabled(true); 
      bar.setDisplayShowTitleEnabled(false); 
      bar.show(); 

     } catch (Exception e) { 
      e.getMessage(); 
     } 

    } 

    FragMent1 fram1; 
    FragmentTransaction fragMentTra = null; 
    FragMent2 fram2; 
    FragMent3 fram3; 



    public void onTabReselected(Tab tab, FragmentTransaction ft) { 
    } 

    public void onTabSelected(Tab tab, FragmentTransaction ft) { 

     if (tab.getText().equals("Collection")) { 
      try { 
       rl.removeAllViews(); 
      } catch (Exception e) { 
      } 
      fram1 = new FragMent1(); 
      fragMentTra.addToBackStack(null); 
      fragMentTra = getFragmentManager().beginTransaction(); 
      fragMentTra.add(rl.getId(), fram1); 
      fragMentTra.commit(); 
     } else if (tab.getText().equals("Summary")) { 
      try { 
       rl.removeAllViews(); 
      } catch (Exception e) { 
      } 
      fram2 = new FragMent2(); 
      fragMentTra.addToBackStack(null); 
      fragMentTra = getFragmentManager().beginTransaction(); 
      fragMentTra.add(rl.getId(), fram2); 
      fragMentTra.commit(); 
     } else if (tab.getText().equals("Details")) { 
      try { 
       rl.removeAllViews(); 
      } catch (Exception e) { 
      } 
      fram3 = new FragMent3(); 
      fragMentTra.addToBackStack(null); 
      fragMentTra = getFragmentManager().beginTransaction(); 
      fragMentTra.add(rl.getId(), fram3); 
      fragMentTra.commit(); 
     } 

    } 

    public void onTabUnselected(Tab tab, FragmentTransaction ft) { 

    } 
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     getMenuInflater().inflate(R.menu.activity_action_bar_main, menu); 
     return true; 
    } 

} 

您有什麼建議,爲什麼它的工作原理,當我刪除了android:圖標=「@機器人:可繪製/ ic_action_view_as_list」行,但得到BadXML塊時,我的圖標添加到XML文件?

回答

3

我覺得這繪製不是機器人繪製的一部分,所以儘量

android:icon="@drawable/ic_action_view_as_list" 

代替。

相關問題