2012-11-26 123 views
3

我是Android新手,在Logcat中運行我的應用程序時遇到了很多錯誤。android.view.InflateException錯誤膨脹類com.android.internal.widget.ActionBarView

11-26 16:21:42.787: E/AndroidRuntime(1103): FATAL EXCEPTION: main 
11-26 16:21:42.787: E/AndroidRuntime(1103): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.trove.sms/com.example.trove.sms.MainMenu}: android.view.InflateException: Binary XML file line #30: Error inflating class com.android.internal.widget.ActionBarView 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.app.ActivityThread.access$600(ActivityThread.java:130) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.os.Handler.dispatchMessage(Handler.java:99) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.os.Looper.loop(Looper.java:137) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.app.ActivityThread.main(ActivityThread.java:4745) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at java.lang.reflect.Method.invokeNative(Native Method) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at java.lang.reflect.Method.invoke(Method.java:511) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at dalvik.system.NativeStart.main(Native Method) 
11-26 16:21:42.787: E/AndroidRuntime(1103): Caused by: android.view.InflateException: Binary XML file line #30: Error inflating class com.android.internal.widget.ActionBarView 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.view.LayoutInflater.createView(LayoutInflater.java:613) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:749) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at com.android.internal.policy.impl.PhoneWindow.generateLayout(PhoneWindow.java:2784) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at com.android.internal.policy.impl.PhoneWindow.installDecor(PhoneWindow.java:2844) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:252) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.app.Activity.setContentView(Activity.java:1867) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at com.example.trove.sms.MainMenu.onCreate(MainMenu.java:35) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.app.Activity.performCreate(Activity.java:5008) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  ... 11 more 
11-26 16:21:42.787: E/AndroidRuntime(1103): Caused by: java.lang.reflect.InvocationTargetException 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at java.lang.reflect.Constructor.constructNative(Native Method) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at java.lang.reflect.Constructor.newInstance(Constructor.java:417) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.view.LayoutInflater.createView(LayoutInflater.java:587) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  ... 25 more 
11-26 16:21:42.787: E/AndroidRuntime(1103): Caused by: android.view.InflateException: Binary XML file line #36: Error inflating class android.widget.TextView 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.view.LayoutInflater.createView(LayoutInflater.java:613) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.view.LayoutInflater.onCreateView(LayoutInflater.java:660) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.view.LayoutInflater.rInflate(LayoutInflater.java:749) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at com.android.internal.widget.ActionBarView.initTitle(ActionBarView.java:763) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at com.android.internal.widget.ActionBarView.setDisplayOptions(ActionBarView.java:596) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at com.android.internal.widget.ActionBarView.<init>(ActionBarView.java:238) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  ... 28 more 
11-26 16:21:42.787: E/AndroidRuntime(1103): Caused by: java.lang.reflect.InvocationTargetException 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at java.lang.reflect.Constructor.constructNative(Native Method) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at java.lang.reflect.Constructor.newInstance(Constructor.java:417) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.view.LayoutInflater.createView(LayoutInflater.java:587) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  ... 38 more 
11-26 16:21:42.787: E/AndroidRuntime(1103): Caused by: java.lang.UnsupportedOperationException: Can't convert to color: type=0x2 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.content.res.TypedArray.getColor(TypedArray.java:326) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.widget.TextView.<init>(TextView.java:499) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  at android.widget.TextView.<init>(TextView.java:442) 
11-26 16:21:42.787: E/AndroidRuntime(1103):  ... 41 more 
我沒有使用動作條,所以我無法找出哪個產生錯誤代碼problem.The線

public void onCreate(Bundle savedInstanceState) 
{ 
super.onCreate(savedInstanceState); 
setContentView(R.layout.mainmenu)//line 35; 
gridView = (GridView) findViewById(R.id.gridView1); 
gridView.setAdapter(new iconadapter(this)); .... 
} 

我MainMenu的XML文件

<?xml version="1.0" encoding="utf-8"?> 
<GridView xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/gridView1" 
android:numColumns="auto_fit" 
android:gravity="center" 
android:columnWidth="100dp" 
android:stretchMode="columnWidth" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" > 
<!--android:background="#000000"--> 
</GridView> 

我在互聯網上搜索了幾個小時,但無法找到任何解決方案。 任何形式的幫助將不勝感激。

這是我的iconadapter類,是的,我在開始時使用小寫字母,這是問題嗎?

public class iconadapter extends BaseAdapter { 
private Context context; 
private final String icon_text[]={"CREATE MESSAGE","LIST MESSAGES","BACKUP/RESTORE","SETTINGS","ABOUT"}; 

public iconadapter(Context context) 
{ 
    this.context = context; 

} 

public View getView(int position, View convertView, ViewGroup parent) { 

    LayoutInflater inflater = (LayoutInflater) context 
     .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

    View gridView; 

    if (convertView == null) 
    { 

     gridView = new View(context); 

     // get layout from mobile.xml 
     gridView = inflater.inflate(R.layout.icons, null); 

     // set value into textview 
     TextView textView = (TextView) gridView 
       .findViewById(R.id.grid_item_label); 
     textView.setText(icon_text[position]); 

     // set image based on selected text 
     ImageView imageView = (ImageView) gridView 
       .findViewById(R.id.grid_item_image); 

     String icon_label = icon_text[position]; 

     if (icon_label.equals("CREATE MESSAGE")) { 
      imageView.setImageResource(R.drawable.create); 
     } else if (icon_label.equals("LIST MESSAGES")) { 
      imageView.setImageResource(R.drawable.mesage); 
     } else if (icon_label.equals("BACKUP/RESTORE")) { 
      imageView.setImageResource(R.drawable.backup1); 
     } else if (icon_label.equals("SETTINGS")){ 
      imageView.setImageResource(R.drawable.settings); 
     } 
     else imageView.setImageResource(R.drawable.about); 

    } else { 
     gridView = (View) convertView; 
    } 

    return gridView; 
} 

public int getCount() { 
    // TODO Auto-generated method stub 
    return icon_text.length; 
} 

public Object getItem(int arg0) { 
    // TODO Auto-generated method stub 
    return null; 
} 

public long getItemId(int arg0) { 
    // TODO Auto-generated method stub 
    return 0; 
} 
} 

在這裏,我只是設置我的應用程序的圖標,這只是不同的選項,意味着對應於圖像的標籤。 爲iconadapter對此我膨脹的XML文件

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:padding="5dp" 
android:orientation="vertical" 
android:background="#000000"> 

<ImageView 
    android:id="@+id/grid_item_image" 
    android:layout_width="70sp" 
    android:layout_height="70sp" 
    android:src="@drawable/create" 
    android:contentDescription="@string/desc"> 
</ImageView> 

<TextView 
    android:id="@+id/grid_item_label" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 

    android:text="@+id/label" 
    android:layout_marginTop="5dp" > 
    <!--android:textColor="#ffffff" --> 
</TextView> 

</LinearLayout> 
+0

我的機器人:minsdkversion是8和targetversion是16,也是我無法正確讀取logcat。這是由行造成的錯誤的層次? – aneela

回答

0

什麼是iconadapter(這)?
你確定你在開始時創建了一個帶小寫字母的類?
此外,我們需要知道你在iconadapter中做什麼。

+0

iconadapter只是我用來創建圖標的自定義適配器。所以iconadapter只是以上下文爲參數的構造器。 – aneela

+0

此外,我的應用程序在2.2版本中運行良好,但在使用4.X版本時非常煩人,所以會產生問題 – aneela

+0

使用操作欄做什麼?.................. .................引起:android.view.InflateException:二進制XML文件行#30:錯誤膨脹類com.android.internal.widget.ActionBarView –

相關問題