Я разрабатываю настраиваемый макет списка, в котором часть xml выглядит как желаемый результат, но когда я запускаю это на реальном устройстве, он выдает ошибку «Imageview не может быть преобразован в Textview»

List_row.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:padding="5dip" >



    <LinearLayout
        android:id="@+id/list_row"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_marginRight="5dip"
        android:background="@drawable/image_bg"
        android:padding="3dip" >



        <ImageView
            android:id="@+id/list_image"
            android:layout_width="70dip"
            android:layout_height="69dip"
            android:scaleType="fitXY"
            android:shadowColor="#585858"
            android:shadowDx="0.0"
            android:shadowDy="0.0"
            android:shadowRadius="20"
            android:src="@drawable/karthik" />
    </LinearLayout>

    <ImageView
        android:id="@+id/ImageView02"
        android:layout_width="15dip"
        android:layout_height="15dip"
        android:layout_alignLeft="@+id/list_row"
        android:layout_below="@+id/list_row"
        android:contentDescription="Zodiac icon"
        android:scaleType="fitXY"
        android:shadowColor="#8B4513"             
        android:src="@drawable/rings_icon"/>

    <TextView
        android:id="@+id/title_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/list_row"
        android:layout_toRightOf="@+id/list_row"
        android:text="KARTHIK.KOLANJI"
        android:textColor="#181818"
        android:textSize="15dip"
        android:textStyle="bold"
        android:typeface="sans" />

    <TextView
        android:id="@+id/sub_title_category"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginRight="5dip"
        android:gravity="right"
        android:text="Facebook Friend"
        android:textColor="#10bcc9"
        android:textSize="12dip"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/TextView04"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/txtview_turns"
        android:layout_below="@+id/txtview_turns"
        android:text=" days  left"
        android:textColor="#996600"
        android:textSize="9sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/txtview_days_left"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/TextView04"
        android:layout_below="@+id/TextView04"
        android:text="36"
        android:textColor="#990000"
        android:textSize="27sp"
        android:textStyle="normal" />

    <TextView
        android:id="@+id/list_image_arrow"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/sub_title_category"
        android:layout_below="@+id/title_name"
        android:text="t u r n s"
        android:textColor="#996600"
        android:textSize="9sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/txtview_turns"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/list_image_arrow"
        android:layout_below="@+id/list_image_arrow"
        android:text="24"
        android:textColor="#990000"
        android:textSize="27sp"
        android:textStyle="normal" />

    <TextView
        android:id="@+id/txtview_next_bd"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/TextView01"
        android:layout_alignBottom="@+id/TextView01"
        android:layout_marginLeft="14dp"
        android:layout_toRightOf="@+id/TextView01"
        android:text="Wednesday"
        android:textColor="#CC0000"
        android:textSize="13sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/txtview_type_of_reminder"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/ImageView02"
        android:layout_alignRight="@+id/list_row"
        android:text="(Anniversary)"
        android:textColor="#787878"
        android:textSize="10sp"
        android:textStyle="normal" />

    <TextView
        android:id="@+id/TextView01"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/TextView02"
        android:layout_alignTop="@+id/ImageView02"
        android:text="Next birthday on : "
        android:textColor="#181818"
        android:textSize="13sp"
        android:textStyle="normal" />

    <TextView
        android:id="@+id/TextView02"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/TextView04"
        android:layout_alignBottom="@+id/TextView04"
        android:layout_alignLeft="@+id/sub_title_birthdate"
        android:text="Zodiac :  "
        android:textColor="#181818"
        android:textSize="13sp"
        android:textStyle="normal" />

    <TextView
        android:id="@+id/txtview_zodiac"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/TextView02"
        android:layout_alignBottom="@+id/TextView02"
        android:layout_toRightOf="@+id/TextView02"
        android:text="Sagittarius"
        android:textColor="#CC0000"
        android:textSize="13sp"
        android:textStyle="normal" />

    <TextView
        android:id="@+id/sub_title_birthdate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/TextView02"
        android:layout_alignLeft="@+id/sub_title_contact_number"
        android:text="7th, April 1990"
        android:textColor="#181818"
        android:textSize="13dip" />

    <TextView
        android:id="@+id/sub_title_contact_number"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_above="@+id/sub_title_birthdate"
        android:layout_alignLeft="@+id/title_name"
        android:text="9594080469"
        android:textColor="#181818"
        android:textSize="13dip" />

    <ImageView
        android:id="@+id/ImageView01"
        android:layout_width="15dip"
        android:layout_height="15dip"
        android:layout_alignBottom="@+id/list_row"
        android:layout_alignRight="@+id/txtview_next_bd"
        android:layout_marginRight="16dp"
        android:contentDescription="Zodiac icon"
        android:scaleType="fitXY"
        android:shadowColor="#8B4513"
        android:shadowDx="0.0"
        android:shadowDy="0.0"
        android:shadowRadius="20" 
        android:src="@drawable/aries"/>

</RelativeLayout>

Вот Ссылка на изображение макета

Вот снимок экрана Logcat

Ошибка бросания строки:

viewHolder=new ViewHolder();
            viewHolder.txtDaysRemainigValue=(TextView)view.findViewById(R.id.txtview_days_left);
            viewHolder.txtTurnsAge=(TextView)view.findViewById(R.id.txtview_turns);
            viewHolder.txtEventWeek=(TextView)view.findViewById(R.id.txtview_next_bd);
            viewHolder.txtNumber=(TextView)view.findViewById(R.id.sub_title_contact_number);
            viewHolder.txtBirthDay=(TextView)view.findViewById(R.id.sub_title_birthdate);
            viewHolder.txtZodiac=(TextView)view.findViewById(R.id.TextView02);
            viewHolder.txtZodiacValue=(TextView)view.findViewById(R.id.txtview_zodiac);
            viewHolder.txtNextBD=(TextView)view.findViewById(R.id.TextView01);
            viewHolder.txtDayRemainig=(TextView)view.findViewById(R.id.TextView04);
            viewHolder.txtTurnsAgeValue=(TextView)view.findViewById(R.id.txtview_turns);
            viewHolder.thumbZodiacIcon= (ImageView) view.findViewById(R.id.ImageView01);
            viewHolder.thumbEventIcon = (ImageView) view.findViewById(R.id.ImageView02);
            viewHolder.thumbContact = (ImageView) view.findViewById(R.id.list_image);
            view.setTag(viewHolder);
0
karthik 10 Мар 2014 в 14:22
Проверьте идентификаторы, если все выглядит хорошо, очистите свой проект, удалите с телефона, затем установите снова
 – 
Shayan Pourvatan
10 Мар 2014 в 14:25
Я уже пробовал это решение .... не сработало
 – 
karthik
10 Мар 2014 в 14:26
В одном месте кода вы пытаетесь получить доступ к ImageView с помощью объекта TextView, почтового кода и logcat
 – 
Shayan Pourvatan
10 Мар 2014 в 14:28
Можете ли вы опубликовать свой код Java, а также ошибку, которую вы получаете в logcat.
 – 
user3395743
10 Мар 2014 в 14:29
Настоящая проблема в том, что когда я пытаюсь настроить вид с помощью перетаскивания, он выдает ошибку ... что может быть решением
 – 
karthik
10 Мар 2014 в 14:31

2 ответа

Лучший ответ

Использовать это.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="5dip" >

<LinearLayout
    android:id="@+id/list_row"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_marginRight="5dip"
    android:background="@drawable/ic_empty"
    android:padding="3dip" >

    <ImageView
        android:id="@+id/list_image"
        android:layout_width="70dip"
        android:layout_height="69dip"
        android:scaleType="fitXY"
        android:shadowColor="#585858"
        android:shadowDx="0.0"
        android:shadowDy="0.0"
        android:shadowRadius="20"
        android:src="@drawable/karthik" />
</LinearLayout>

<ImageView
    android:id="@+id/ImageView02"
    android:layout_width="15dip"
    android:layout_height="15dip"
    android:layout_alignLeft="@+id/list_row"
    android:layout_below="@+id/list_row"
    android:contentDescription="Zodiac icon"
    android:scaleType="fitXY"
    android:shadowColor="#8B4513"
    android:src="@drawable/rings_icon" />

<TextView
    android:id="@+id/title_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/list_row"
    android:layout_toRightOf="@+id/list_row"
    android:text="KARTHIK.KOLANJI"
    android:textColor="#181818"
    android:textSize="15dip"
    android:textStyle="bold"
    android:typeface="sans" />

<TextView
    android:id="@+id/sub_title_category"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_marginRight="5dip"
    android:gravity="right"
    android:text="Facebook Friend"
    android:textColor="#10bcc9"
    android:textSize="12dip"
    android:textStyle="bold" />

<TextView
    android:id="@+id/TextView04"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignRight="@+id/txtview_turns"
    android:layout_below="@+id/txtview_turns"
    android:text=" days  left"
    android:textColor="#996600"
    android:textSize="9sp"
    android:textStyle="bold" />

<TextView
    android:id="@+id/txtview_days_left"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignRight="@+id/TextView04"
    android:layout_below="@+id/TextView04"
    android:text="36"
    android:textColor="#990000"
    android:textSize="27sp"
    android:textStyle="normal" />

<TextView
    android:id="@+id/list_image_arrow"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignRight="@+id/sub_title_category"
    android:layout_below="@+id/title_name"
    android:text="t u r n s"
    android:textColor="#996600"
    android:textSize="9sp"
    android:textStyle="bold" />

<TextView
    android:id="@+id/txtview_turns"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/list_image_arrow"
    android:layout_below="@+id/list_image_arrow"
    android:text="24"
    android:textColor="#990000"
    android:textSize="27sp"
    android:textStyle="normal" />

<TextView
    android:id="@+id/txtview_next_bd"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/TextView01"
    android:layout_alignBottom="@+id/TextView01"
    android:layout_marginLeft="14dp"
    android:layout_toRightOf="@+id/TextView01"
    android:text="Wednesday"
    android:textColor="#CC0000"
    android:textSize="13sp"
    android:textStyle="bold" />

<TextView
    android:id="@+id/TextView01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/TextView02"
    android:layout_alignTop="@+id/ImageView02"
    android:text="Next birthday on : "
    android:textColor="#181818"
    android:textSize="13sp"
    android:textStyle="normal" />

<TextView
    android:id="@+id/TextView02"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/TextView04"
    android:layout_alignBottom="@+id/TextView04"
    android:layout_alignLeft="@+id/sub_title_birthdate"
    android:text="Zodiac :  "
    android:textColor="#181818"
    android:textSize="13sp"
    android:textStyle="normal" />

<TextView
    android:id="@+id/txtview_zodiac"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/TextView02"
    android:layout_alignBottom="@+id/TextView02"
    android:layout_toRightOf="@+id/TextView02"
    android:text="Sagittarius"
    android:textColor="#CC0000"
    android:textSize="13sp"
    android:textStyle="normal" />

<TextView
    android:id="@+id/sub_title_birthdate"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/TextView02"
    android:layout_alignLeft="@+id/sub_title_contact_number"
    android:text="7th, April 1990"
    android:textColor="#181818"
    android:textSize="13dip" />

<TextView
    android:id="@+id/sub_title_contact_number"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/sub_title_birthdate"
    android:layout_alignLeft="@+id/title_name"
    android:text="9594080469"
    android:textColor="#181818"
    android:textSize="13dip" />

<TextView
    android:id="@+id/txtview_type_of_reminder"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/TextView01"
    android:layout_toLeftOf="@+id/TextView01"
    android:text="(Anniversary)"
    android:textColor="#787878"
    android:textSize="10sp"
    android:textStyle="normal" />

<ImageView
    android:id="@+id/ImageView01"
    android:layout_width="15dip"
    android:layout_height="15dip"
    android:layout_above="@+id/txtview_next_bd"
    android:layout_toLeftOf="@+id/TextView04"
    android:contentDescription="Zodiac icon"
    android:scaleType="fitXY"
    android:shadowColor="#8B4513"
    android:shadowDx="0.0"
    android:shadowDy="0.0"
    android:shadowRadius="20"
    android:src="@drawable/aries" />

 </RelativeLayout>
2
Piyush 10 Мар 2014 в 15:08
Вау... отличная проблема на 90% решена... но в некоторых элементах списка значок зодиака накладывается на имя зодиана, И оставшиеся дни слегка смещаются влево Снимок экрана
 – 
karthik
10 Мар 2014 в 14:56
Проблема из-за этого. вам нужно оставить некоторое поле, или вы можете вручную сместить текстовое представление с изображения. так что вы можете получить лучший результат.
 – 
Piyush
10 Мар 2014 в 14:58
К сожалению, значок был привязан к текстовому представлению «Осталось дней», вместо этого я требую, чтобы он был привязан к имени Зодиака [скриншот] (flickr.com/photos/109729836@N08/13057286195)
 – 
karthik
10 Мар 2014 в 15:16
Хорошо, тогда просто дайте поле справа 15dp или 20dp для вашей иконки.
 – 
Piyush
10 Мар 2014 в 15:17
Если оставшиеся дни представляют собой одну цифру, например «2», то текстовое представление смещается влево, а если это три цифры, например «365», то макет выглядит хорошо.
 – 
karthik
10 Мар 2014 в 15:19

Я думаю, что в вашем классе адаптера где-то вы делаете как

TextView textView = (TextView)findViewById(R.id.ImageView01)

Это означает, что вы преобразуете ImageView в объект TextView, чего не следует делать. Один раз проверьте свой код.

0
Sonali8890 10 Мар 2014 в 14:27