2012-06-25 161 views
57

我無法解決這個問題在我的列表視圖模板上:我有錯誤,因爲在我的帖子的標題,但我不會投影imageview到textview。這裏是我的代碼:Android:java.lang.ClassCastException:android.widget.imageView不能轉換爲android.widget.textView

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="200dip" 
android:layout_weight="1" 
android:paddingBottom="10dip" > 

<TextView 
    android:id="@+id/mq" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentRight="true" 
    android:text="Metri quadri" 
    android:textColor="#33b5e5" 
    android:textSize="14sp" 
    android:textStyle="bold" /> 

<TextView 
    android:id="@+id/citta" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignBaseline="@+id/mq" 
    android:layout_alignBottom="@+id/mq" 
    android:layout_centerHorizontal="true" 
    android:text="Citta" 
    android:textColor="#33b5e5" 
    android:textSize="14sp" 
    android:textStyle="bold" /> 

<TextView 
    android:id="@+id/prezzo" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:text="Prezzo" 
    android:textColor="#e1e1e1" 
    android:textSize="14sp" 
    android:textStyle="bold" /> 

<TextView 
    android:id="@+id/nome" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:padding="5dip" 
    android:scrollHorizontally="true" 
    android:singleLine="true" 
    android:text="@string/testolungo" 
    android:textColor="#e1e1e1" 
    android:textSize="20sp" 
    android:textStyle="bold" /> 

<ImageView 
    android:id="@+id/foto" 
    android:layout_width="80dip" 
    android:layout_height="60dip" 
    android:layout_alignParentLeft="true" 
    android:layout_centerVertical="true" 
    android:contentDescription="Release" 
    android:padding="5dip" 
    android:scaleType="centerCrop" 
    android:src="@drawable/stub" /> 

<TextView 
    android:id="@+id/descsplash" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_centerVertical="true" 
    android:text="Small Text" 
    android:textSize="16sp" 
    android:textStyle="italic" /> 

</RelativeLayout> 

爲Java代碼中的錯誤是在我的文件,我在那裏分配TextView的id來TextView的MQ的58行:

View vi=convertView; 
    if(convertView==null) 
    vi = inflater.inflate(R.layout.listlay, null); 
    TextView nome=(TextView)vi.findViewById(R.id.nome); 
    TextView mq=(TextView)vi.findViewById(R.id.mq); // here's the error (???) 
    TextView citta=(TextView)vi.findViewById(R.id.citta); 
    TextView prezzo=(TextView)vi.findViewById(R.id.prezzo); 
    ImageView image=(ImageView)vi.findViewById(R.id.foto); 
    TextView descrizione = (TextView)vi.findViewById(R.id.descsplash); 
    nome.setText(data.get(position).getNome()); 
    mq.setText(data.get(position).getMetriQuadri()); 
    citta.setText(data.get(position).getCitta()); 
    prezzo.setText(data.get(position).getPrezzo()); 
    descrizione.setText(data.get(position).getDescrizione()); 
    imageLoader.DisplayImage(data.get(position).getForoUrl(), image); 

這裏是logcat的:

06-25 16:08:32.497: D/Debug(14642): Prendo Textview MQ
06-25 16:08:32.497: D/AndroidRuntime(14642): Shutting down VM
06-25 16:08:32.497: W/dalvikvm(14642): threadid=1: thread exiting with uncaught exception (group=0x40a561f8)
06-25 16:08:32.497: E/AndroidRuntime(14642): FATAL EXCEPTION: main
06-25 16:08:32.497: E/AndroidRuntime(14642): java.lang.ClassCastException: android.widget.ImageView cannot be cast to android.widget.TextView
06-25 16:08:32.497: E/AndroidRuntime(14642): at com.prova.listview.LazyAdapter.getView(LazyAdapter.java:58)

有誰知道我該如何解決這個問題?

+7

似乎是正確的。試着清理你的項目。 – Praveenkumar

+0

你可以發佈catlog嗎? @SpK推薦 – MikeIsrael

+0

06-25 16:08:32.497 D/Debug(14642):Prendo Textview MQ 06-25 16:08:32.497:D/AndroidRuntime(14642):關閉VM 06-25 16:08:32。497:W/dalvikvm(14642):threadid = 1:線程以未捕獲的異常退出(組= 0x40a561f8) 06-25 16:08:32.497:E/AndroidRuntime(14642):致命例外:主 06-25 16: 08:32.497:E/AndroidRuntime(14642):java.lang.ClassCastException:android.widget.ImageView無法轉換爲android.widget.TextView 06-25 16:08:32.497:E/AndroidRuntime(14642):\t com.prova.listview.LazyAdapter.getView(LazyAdapter.java:58) – Release

回答

179

Eclipse會不時地弄亂你的資源。 這會導致一些奇怪的行爲,例如字符串和圖像在您的應用程序中被交換,更常見的是classCastException(s),這些在Eclipse切換視圖的ID時發生。

該問題的幾種解決方案:

清理您的項目。

修改一個xml佈局文件並保存。

刪除您的R文件。 (別擔心它會再次自動生成)。

基本上,任何使您的項目重建並重新生成R文件。

+4

我刪除了我的R文件。現在一切正常。問題解決了。非常感謝你! – Release

+3

一個典型的情況,當項目>清潔來救援... –

+0

感謝您的這一點。我整個上午都在爲這個問題而戰。 (爲你+1) – Luixv

3

只是清理你的項目,一切都會好的。

+3

它沒有幫助我,我不得不改變視圖的id並重新編譯 – MartinC

1

起初,我得到錯誤:

TextView : android:id="@+id/add_expected_seekbarvalue"

SeekBar : android:id="@+id/add_expected_seekbar"

作爲一個解決方法,我改名爲idTextView作爲

TextView : android:id="@+id/add_expected_valueseekbar"

即使清理其他技術迪不工作,但最終重命名的ID像魅力工作。

1

有些時候,這個問題說明,因爲我們已經創建的ImageView但隨着圖像按鈕鑄成這樣

<ImageView 
     android:id="@+id/iv_thumb" 
     android:layout_width="50dip" 
     android:layout_height="50dip" 
     /> 

    holder.imageView = (ImageButton) convertView.findViewById(R.id.iv_thumb); 
我們已經宣佈的ImageView,但投給的ImageButton,這個原因也有面對這個問題

0

只是清理項目...... 我也通過類似的問題了.. 清潔工程後一切將fine..best運氣

相關問題