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?
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.
Bereinigen Sie einfach Ihr Projekt und alles wird gut.
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.
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.
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)
reinige einfach dein Projekt ... Ich ging auch durch ein ähnliches Problem ... Nach einem sauberen Projekt wird alles in Ordnung sein. Viel Glück
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.