2013-09-30 44 views
0

我在程序中使用了佈局充氣器。在Android 4中一切都很好,但在Android 2.2中使用時,程序終止時會出現運行時錯誤(強制關閉)。充氣佈局時強行關閉

問題在哪裏?代碼的

部分:

Log.i("Hossein", "1"); 

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

    Log.i("Hossein", "2"); 

    View itemView = inflater.inflate(R.layout.drawer_list_item, parent, 
      false); 

    Log.i("Hossein", "3"); 

佈局代碼:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    style="?attr/spinnerDropDownItemStyle" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/dropdownListPreferredItemHeight" 
    android:background="?android:attr/activatedBackgroundIndicator" 
    android:orientation="horizontal" > 

    <ImageView 
     android:id="@+id/icon" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:adjustViewBounds="true" /> 

    <LinearLayout 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:gravity="center_vertical|left" 
     android:orientation="vertical" > 

     <TextView 
      android:id="@+id/title" 
      style="?attr/spinnerDropDownItemStyle" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:ellipsize="end" 
      android:singleLine="true" /> 

     <TextView 
      android:id="@+id/subtitle" 
      style="?attr/spinnerDropDownItemStyle" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:ellipsize="end" 
      android:singleLine="true" 
      android:textAppearance="?attr/textAppearanceSmall" /> 
    </LinearLayout> 

</LinearLayout> 

logcat的消息:

十一月9日至30日:26:32.934:I /侯賽因(416) :1

09-30 11:26:32.934:I/Hossein(416):2

11月9日至30日:26:32.974:d/AndroidRuntime(416):關閉VM

11月9日至30日:26:32.974:W/dalvikvm(416):線程ID = 1:螺紋與離開未捕獲的異常(組= 0x4001d800)

11月9日至30日:26:33.034:E/AndroidRuntime(416):致命異常:主

11月9日至30日:26:33.034:E/AndroidRuntime(416) :android.view.InflateException:二進制XML文件行#1:錯誤膨脹類

09-30 11:26:33.034:E/AndroidRuntime(416):at android.vi ew.LayoutInflater.createView(LayoutInflater.java:513)

11月9日至30日:26:33.034:E/AndroidRuntime(416):在com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java :56)

11月9日至30日:26:33.034:E/AndroidRuntime(416):在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)

11月9日至30日:26:33.034 :E/AndroidRuntime(416):at android.view.LayoutInflater.inflate(LayoutInflater.java:385)

09-30 11:26:33.034:E/AndroidRuntime(416):at android.view.LayoutInflater。膨脹(LayoutInfla ter.java:320)

09-30 11:26:33.034:E/AndroidRuntime(416):在com.androidbegin.sidemenututorial.MenuListAdapter.getView(MenuListAdapter.java:56)

09-30 11:26:33.034:E/AndroidRuntime(416):at android.widget.AbsListView.obtainView(AbsListView.java:1315)

09-30 11:26:33.034:E/AndroidRuntime(416):at android .widget.ListView.makeAndAddView(ListView.java:1727)

11月9日至30日:26:33.034:E/AndroidRuntime(416):在android.widget.ListView.fillDown(ListView.java:652)

11月9日至30日:26:33.034:E/AndroidRuntime(416):在android.widget.ListView.fillFromTop(ListView.java:709)

11月9日至30日:26:33.034:E/AndroidRuntime (416):at android.widget.ListView.layoutChildren(ListView.java:1580)

09-30 11:26:33.034:E/AndroidRuntime(416):at android.widget。AbsListView.onLayout(AbsListView.java:1147)

11月9日至30日:26:33.034:E/AndroidRuntime(416):在android.view.View.layout(View.java:7035)

09 -30 11:26:33.034:E/AndroidRuntime(416):at android.support.v4.widget.DrawerLayout.onLayout(DrawerLayout.java:702)

09-30 11:26:33.034:E/AndroidRuntime (416):at android.view.View.layout(View.java:7035)

09-30 11:26:33.034:E/AndroidRuntime(416):at android.widget.FrameLayout.onLayout(FrameLayout。 java:333)

09-30 11:26:33.034:E/AndroidRuntime(416):at android.view.View.layout(View.java:7035)

09-30 11:26:33.034:E/AndroidRuntime 416):at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1249)

09-30 11:26:33.034:E/AndroidRuntime(416):at android.widget.LinearLayout.layoutVertical(LinearLayout.java :1125)

11月9日至30日:26:33.034:E/AndroidRuntime(416):在android.widget.LinearLayout.onLayout(LinearLayout.java:1042)

11月9日至30日:26:33.034 :E/AndroidRuntime(416):a t android.view.View.layout(View.java:7035)

09-30 11:26:33.034:E/AndroidRuntime(416):at android.widget.FrameLayout.onLayout(FrameLayout.java:333)

11月9日至30日:26:33.034:E/AndroidRuntime(416):在android.view.View.layout(View.java:7035)

11月9日至30日:26:33.034:E/AndroidRuntime(416):at android.widget.FrameLayout.onLayout(FrameLayout.java:333)

09-30 11:26:33.034:E/AndroidRuntime(416):at android.view.View.layout(View .java:7035)

09-30 11:26:33.034:E/AndroidRuntime(416):at android.view.ViewRoot.performTraversals(ViewRoot.java:1045)

09-30 11:26:33.034:E/AndroidRuntime 416):at android.view.ViewRoot.handleMessage(ViewRoot.java:1727)

09-30 11:26:33.034:E/AndroidRuntime(416):at android.os.Handler.dispatchMessage(Handler.java :99)

11月9日至30日:26:33.034:E/AndroidRuntime(416):在android.os.Looper.loop(Looper.java:123)

11月9日至30日:26:33.034 :E/AndroidRuntime(416):在android.app.ActivityThread.main(Activit yThread.java:4627)

09-30 11:26:33.034:E/AndroidRuntime(416):在java.lang.reflect.Method.invokeNative(本機方法)

09-30 11:26 :33.034:E/AndroidRuntime(416):at java.lang.reflect.Method.invoke(Method.java:521)

09-30 11:26:33.034:E/AndroidRuntime(416):at com。 android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)

09-30 11:26:33.034:E/AndroidRuntime(416):at com.android.internal.os.ZygoteInit.main (ZygoteInit。的java:626)

11月9日至30日:26:33.034:E/AndroidRuntime(416):在dalvik.system.NativeStart.main(本機方法)

11月9日至30日:26:33.034:電子/ AndroidRuntime(416):引起於:java.lang.reflect.InvocationTargetException

09-30 11:26:33.034:E/AndroidRuntime(416):at android.widget.LinearLayout。(LinearLayout.java:115)

11月9日至30日:26:33.034:E/AndroidRuntime(416):在java.lang.reflect.Constructor.constructNative(本機方法)

09-30 11:26:33.034:E/AndroidRuntime(416):at java.lang.reflect.Constructor.newInstance(Constructor.java:446)

09-30 11:26:33.034:E/AndroidRuntime (416):在android.view.LayoutInflater.createView(LayoutInflater.java:500)

11月9日至30日:26:33.034:E/AndroidRuntime(416):... 34更

09- 30 11:26:33.034:E/AndroidRuntime(416):引起:android.content.res.Resources $ NotFoundException:文件res/drawable/list_selector_background.xml從可繪製資源ID#0x0

09-30 11: 26:33.034:E/AndroidRuntime(416) :at android.content.res.Resources.loadDrawable(Resources.java:1697)

09-30 11:26:33.034:E/AndroidRuntime(416):at android.content.res.TypedArray.getDrawable(TypedArray的.java:601)

09-30 11:26:33.034:E/AndroidRuntime(416):在android.view.View(View.java:1885)

09-30 11:26:在android.view.ViewGroup上的E/AndroidRuntime(416):at android.view.View。(View.java:1834)

09-30 11:26:33.034:E/AndroidRuntime(416) (ViewGroup.java:285)

09-30 11:26:33.034:E/AndroidRuntime(416):... 38更多

09-30 11:26:33.034:E/AndroidRuntime(416):引起:android.content。 res.Resources $ NotFoundException:從xml類型的文件res/drawable/list_selector_background.xml可繪製資源ID#0x0

09-30 11:26:33.034:E/AndroidRuntime(416):at android.content.res.Resources .loadXmlResourceParser(Resources.java:1924)

11月9日至30日:26:33.034:E/AndroidRuntime(416):在android.content.res.Resources.loadDrawable(Resources.java:1692)

09-30 11:26:33.034:E/AndroidRuntime(416):... 42更多

09-30 11:26:33.143:D/dalvikvm(416):GC_FOR_MALLOC釋放3421個對象/ 286952個字節102ms

09-30 11:26:35.735:I /處理(416):發送信號。 PID:416 SIG:9

+0

你能顯示你的list_selector_background.xml嗎? – Neoh

回答

0
// try this way 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       style="?android:spinnerDropDownItemStyle" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:orientation="horizontal" > 

    <ImageView 
      android:id="@+id/icon" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:adjustViewBounds="true" /> 

    <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:gravity="center_vertical|left" 
      android:orientation="vertical" > 

     <TextView 
       android:id="@+id/title" 
       style="?android:spinnerDropDownItemStyle" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:ellipsize="end" 
       android:singleLine="true" /> 

     <TextView 
       android:id="@+id/subtitle" 
       style="?android:spinnerDropDownItemStyle" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:ellipsize="end" 
       android:singleLine="true" 
       android:textAppearance="?android:textAppearanceSmall" /> 
    </LinearLayout> 

</LinearLayout> 
+0

嗨,你可以PLZ upvote ans如果它對你有用謝謝... –

0

activatedBackgroundIndicator attribute在API級別11(Android 3.0)中引入。

將您的根佈局中的android:background="?android:attr/activatedBackgroundIndicator"替換爲所有目標API級別上可用的內容,或使用alternative resources機制在11之前版本和其他佈局之間進行變化。

請注意堆棧跟蹤提到list_selector_background.xml - 您確定這是導致此堆棧跟蹤的確切代碼嗎?