Android: java.ленг.ClassCastException: android.штучка.imageView не может быть приведен к android.штучка.поле TextView
Я не могу исправить эту проблему в моем шаблоне listview: у меня есть ошибка, как в названии моего поста, но я не буду бросать imageview в 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 находится в строке 58 моего файла, где я назначаю идентификатор TextView TextView mq:
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): завершение работы VM
06-25 16:08:32.497 значения: W/dalvikvm(14642): идентификатор threadid=1: поток, выходящий с неперехваченного исключения (группа=0x40a561f8)
06-25 16: 08: 32.497: E / AndroidRuntime(14642): фатальное исключение: main
06-25 16:08: 32.497: E/AndroidRuntime(14642): java.ленг.ClassCastException: android.штучка.ImageView не может быть приведен к android.штучка.TextView
06-25 16: 08: 32.497: E / AndroidRuntime(14642): at com.Прова.элемент управления ListView.LazyAdapter.getView (LazyAdapter.Ява:58)
кто-нибудь знает как я могу исправить эту проблему?
7 ответов:
затмение имеет тенденцию испортить ваши ресурсы время от времени. Это приводит к некоторому странному поведению, такому как строки и изображения, которые меняются местами по всему вашему приложению, и чаще всего classCastException(s), которые происходят, когда Eclipse переключает идентификаторы ваших представлений.
несколько решений этой проблемы:
очистите свой проект.
изменить xml-файл макета и сохранить.
удалить файл R. (Не волнуйтесь, он будет автоматически снова.)
в основном все, что делает ваш проект перестроить и повторно создать файл R.
несколько раз эта проблема показывает, потому что мы создали 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, по этой причине также столкнулись с этой проблемой.
Первоначально, я получал ошибку:
TextView : android:id="@+id/add_expected_seekbarvalue"
SeekBar : android:id="@+id/add_expected_seekbar"
как исправление, я переименовал
id
наTextView
как
TextView : android:id="@+id/add_expected_valueseekbar"
даже очистка и другие методы не работали, но, наконец, переименование идентификатора работало как шарм.
просто очистите свой проект... Я тоже прошел через подобную проблему.. после чистого проекта все будет хорошо..удачи
может быть, у вас есть изображение в вашем .xml-файл и кнопка, которая динамически генерируется и задается идентификатором в вашем коде java, и эти два случайно получают один и тот же идентификатор, и из-за этого вы получаете эту ошибку. попробуйте изменить идентификатор, который вы указали в своем коде, и все будет в порядке.
на Visual Studio Xamarin.Разработки Android
Как говорили многие, уборка проект сделал трюк для меня на Visual Studio Для моего Xamarin.Формы приложения, это произошло после внесения изменений с новой ссылкой на библиотеку.
очистите свой проект.
в основном все, что делает ваш проект перестроить и повторно генерировать Rosource.Дизайнер.cs-файл. (Зарылся от @Benito Bertoli)