2015-09-30 31 views
0

錯誤,同時增加/ XML文件中充氣另一個XML安卓:錯誤同時加入了XML文件到另一個XML

我試圖將XML文件添加到另一個XML的,但同時addidng /充氣I M得到的錯誤。

我的主要XML是

item_non_highlight.xml

<?xml version="1.0" encoding="utf-8" ?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="horizontal" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:layout_weight="10" 
android:baselineAligned="false"> 

<LinearLayout android:id="@+id/column_big" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="5" 
    android:orientation="vertical" 
    /> 

<LinearLayout android:id="@+id/column_small" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="5" 
    android:orientation="vertical" 
/> 

一段代碼在這裏表示我的錯誤

 View v = inflater.inflate(R.layout.item_non_highlight, null); 
     LinearLayout column_highlight = (LinearLayout) v.findViewById(R.id.column_big); 
     v = setupHighlightViewTablet(column_highlight); 



     private View setupHighlightViewTablet(View parentView) { 
     int itemCount = 1; 


      LinearLayout columnOdd = (LinearLayout) parentView. 
        findViewById(R.id.social_media_column_one); // this two layouts belongs to a different xml 

      LinearLayout columnEven = (LinearLayout) parentView. 
        findViewById(R.id.social_media_column_two); // 
     View itemView = inflater.inflate(R.layout.highlight, null); 
     if (itemCount % 2 == 0) { 
        columnEven.addView(itemView); 
       } else { 
        columnOdd.addView(itemView); // error at this ine 
       } 
      } 
      itemCount++; 

    return parentView; 

     } 

誤差

 java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.LinearLayout.addView(android.view.View)' on a null object reference 

感謝

+0

'social_media_column_one'和'social_media_column_two'沒有下'column_big'存在你怎麼能指望這個工作? –

+0

雅我知道,但有沒有可能做到這一點? – Randroid

回答

0

嘗試用虛假的標誌作爲第三個參數誇大你的佈局:

View v = inflater.inflate(R.layout.item_non_highlight, null, false); 

你因爲得到異常默認的Android嘗試添加新充氣以它的父(第二PARAM),併爲你通過那裏你會得到異常提及。

看到這個文檔: http://developer.android.com/reference/android/view/LayoutInflater.html#inflate(org.xmlpull.v1.XmlPullParser,android.view.ViewGroup,布爾)

+0

,感謝您的答案,我試過了,但現在我得到了這個錯誤java.lang.IllegalStateException:指定的孩子已經有一個父。您必須先調用子對象的父對象的removeView()。 在android.view.ViewGroup.addViewInner(ViewGroup.java:3562) 在android.view.ViewGroup.addView(ViewGroup.java:3415) 在android.view.ViewGroup.addView(ViewGroup.java:3360) 在android.view.ViewGroup.addView(ViewGroup.java:3336) – Randroid

相關問題