it-swarm.com.de

Android: Java.lang.ClassCastException: Android.widget.imageView kann nicht in Android.widget.textView umgewandelt werden

Ich kann dieses Problem nicht auf meiner Listview-Vorlage beheben: Ich habe den Fehler wie im Titel meines Beitrags, aber ImageView wird nicht in Textview umgewandelt. Hier ist mein Code:

<?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>

Der Fehler für den Java-Code befindet sich in Zeile 58 meiner Datei, wo ich TextView-ID TextView mq zuweise:

    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);

Und hier ist der Logcat:

06-25 16: 08: 32.497: D/Debug (14642): Prendo Textview MQ
06-25 16: 08: 32.497: D/AndroidRuntime (14642): VM wird heruntergefahren
06-25 16: 08: 32.497: W/dalvikvm (14642): Threadid = 1: Thread wird mit einer nicht erfassten Ausnahme beendet (Gruppe = 0x40a561f8)
06-25 16: 08: 32.497: E/Android Runtime (14642): FATALE AUSNAHME: main
06-25 16: 08: 32.497: E/AndroidRuntime (14642): Java.lang.ClassCastException: Android.widget.ImageView kann nicht in Android.widget.TextView umgewandelt werden
06-25 16: 08: 32.497: E/AndroidRuntime (14642): unter com.prova.listview.LazyAdapter.getView (LazyAdapter.Java:58)

Weiß jemand, wie ich dieses Problem beheben kann?

59
Release

Eclipse neigt dazu, Ihre Ressourcen gelegentlich durcheinander zu bringen ... Dies führt zu seltsamen Verhaltensweisen, z. B. dass Strings und Bilder in Ihrer gesamten Anwendung ausgetauscht werden um.

Einige Lösungen für dieses Problem:

Reinigen Sie Ihr Projekt.

Ändern Sie eine XML-Layoutdatei und speichern Sie sie.

Löschen Sie Ihre R-Datei. (Keine Sorge, es wird automatisch neu generiert).

Grundsätzlich alles, was dazu führt, dass Ihr Projekt die R-Datei neu erstellt und generiert. 

178
Benito Bertoli

Bereinigen Sie einfach Ihr Projekt und alles wird gut.

4
Aïssa Ghouti

Manchmal zeigt sich dieses Problem, weil wir ImageView But Cast mit Image Button so erstellt haben 

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

  holder.imageView = (ImageButton) convertView.findViewById(R.id.iv_thumb);

wir haben Imageview zwar erklärt, aber zu ImageButton umgewandelt. 

1
Rohit

Anfangs bekam ich einen Fehler: 

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

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

Als Fix habe ich die id für TextView umbenannt

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

Selbst das Aufräumen und andere Techniken haben nicht funktioniert, aber die Umbenennung der ID funktionierte wie ein Zauber.

1
touchchandra

für Visual Studio Xamarin.Android-Entwicklung

Wie von vielen schon erwähnt, hat Cleaning das Projekt für Visual Studio den Trick für mich erledigt. Für meine Xamarin.Forms-App geschah dies, nachdem Änderungen mit neuer Bibliotheksreferenz eingezogen wurden.

Reinigen Sie Ihr Projekt.

Grundsätzlich alles, was dazu führt, dass Ihr Projekt die Rosource.Designer.cs-Datei neu erstellt und generiert. (Von @Benito Bertoli begraben)

0
Ahmed Alejo

reinige einfach dein Projekt ... Ich ging auch durch ein ähnliches Problem ... Nach einem sauberen Projekt wird alles in Ordnung sein. Viel Glück

0

Möglicherweise haben Sie eine Bildansicht in Ihrer XML-Datei und eine Schaltfläche, die dynamisch generiert und eine ID in Ihrem Java-Code erhalten hat, und diese beiden erhalten zufällig eine gleiche ID. Deshalb erhalten Sie diesen Fehler. Versuchen Sie, die ID zu ändern was Sie in Ihrem Code angegeben haben, und es wird in Ordnung sein.

0
user7401696