2013-08-01 29 views
0

我下面的教程約ArrayAdapter,我有一個名爲此XML文件list_item.xml的Android findViewById說法不能得到解決或無法在現場

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" > 

<ImageView 
    android:id="@+id/icon" 
    android:layout_width="80dp" 
    android:layout_height="80dp" 
    android:contentDescription="@string/image" 
    android:paddingLeft="10dp" 
    android:paddingRight="10dp" /> 

<TextView 
    android:id="@+id/title" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_toRightOf="@+id/icon" 
    android:paddingBottom="10dp" 
    android:textColor="#CC0033" 
    android:textSize="16dp" /> 

<TextView 
    android:id="@+id/desc" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/title" 
    android:layout_toRightOf="@+id/icon" 
    android:paddingLeft="10dp" 
    android:textColor="#3399FF" 
    android:textSize="14dp" /> 

</RelativeLayout> 

而一個Activity這個代碼裏生成的線錯誤標有「X」

convertView = mInflater.inflate(R.layout.list_item, null); 
holder = new ViewHolder(); 
holder.txtDesc = (TextView) convertView.findViewById(R.id.desc);   X 
holder.txtTitle = (TextView) convertView.findViewById(R.id.title);  X 
holder.imageView = (ImageView) convertView.findViewById(R.id.icon);  X 
convertView.setTag(holder); 

的代碼是從本教程複製,但我注意到,它的工作原理與IDS在activity_main.xml說明。

+1

我看到你在'list_item.xml'中有意見。我誤解了。你能發佈一些更相關的代碼嗎? – Raghunandan

+0

不是答案,但您一定要閱讀以下內容:http://www.doubleencore.com/2013/05/layout-inflation-as-intended/ –

回答

0

不知道這會幫助你(更好地顯示你的堆棧跟蹤),但你有沒有嘗試在通貨膨脹期間將convertView字段設爲RelativeLayout

如:

convertView = (RelativeLayout) mInflater.inflate(R.layout.list_item, null); 

...這也意味着,爲RelativeLayoutconvertView,爲您的佈局xml表示?

最後,這一次發生在我身上了幾次,並在編譯級實際上將導致嚴重的問題,確保R類進口是yourpackage.R,不android.R,或兩者如果你既需要。否則,很可能是因爲你正在尋找錯誤的佈局。

相關問題