Подтвердить что ты не робот

Android: java.lang.ClassCastException: android.widget.imageView не может быть добавлен в android.widget.textView

Я не могу исправить эту проблему в моем шаблоне listview: у меня есть ошибка, как в заголовке моего сообщения, но я не буду бросать изображение в 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 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): выключение виртуальной машины
06-25 16: 08: 32.497: W/dalvikvm (14642): threadid = 1: поток, выходящий с неперехваченным исключением (group = 0x40a561f8)
06-25 16: 08: 32.497: E/AndroidRuntime (14642): FATAL EXCEPTION: главная
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): на com.prova.listview.LazyAdapter.getView(LazyAdapter.java:58)

Кто-нибудь знает, как я могу исправить эту проблему?

4b9b3361

Ответ 1

Eclipse имеет тенденцию испортить ваши ресурсы время от времени. Это приводит к некоторому нечетному поведению, таким как строки и изображения, которые меняются по всему вашему приложению, и чаще всего классCastException (ы), которые происходят, когда Eclipse переключает идентификаторы Views.

Несколько решений этой проблемы:

Очистите проект.

Измените файл макета xml и сохраните его.

Удалите свой R файл. (Не беспокойтесь, он будет автоматически сгенерирован снова).

В принципе, все, что заставляет проект перестраивать и повторно генерировать R файл.

Ответ 2

Просто очистите свой проект, и все будет хорошо.

Ответ 3

Первоначально я получал ошибку:

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

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

Как исправление, я переименовал id для TextView как

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

Даже очистка и другие методы не сработали, но, наконец, переименование id работало как шарм.

Ответ 4

Несколько раз эта проблема проявляется, потому что мы создали ImageView But Cast с кнопкой Image, как это показано

 <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, по этой причине также столкнулись с этой проблемой.

Ответ 5

просто очистите свой проект... Я тоже пережил подобную проблему. после чистого проекта все будет хорошо.. Лучшая удача