Android:java.lang.ClassCastException:android.widget.imageView无法强制转换为android.widget.textView

Rel*_*ase 59 xml android templates textview imageview

我无法在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>
Run Code Online (Sandbox Code Playgroud)

java代码的错误在我的文件的第58行,其中我将TextView id分配给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);
Run Code Online (Sandbox Code Playgroud)

这是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):致命异常:主
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):at com.prova.listview.LazyAdapter.getView (LazyAdapter.java:58)

有谁知道我怎么能解决这个问题?

Ben*_*oli 179

Eclipse往往会不时地弄乱你的资源.这会导致一些奇怪的行为,例如在您的应用程序中交换字符串和图像,更常见的是classCastException(s),这在Eclipse切换视图的ID时会发生.

该问题的一些解决方案:

清理您的项目.

修改xml布局文件并保存.

删除你的R文件.(别担心它会再次自动生成).

基本上任何使您的项目重建并重新生成R文件的东西.

  • 我删除了我的R文件.现在一切正常.问题解决了.非常感谢你! (4认同)
  • R档案在哪里? (3认同)