首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android: java.lang.ClassCastException: android.widget.imageView不能转换为android.widget.textView

Android: java.lang.ClassCastException: android.widget.imageView不能转换为android.widget.textView
EN

Stack Overflow用户
提问于 2012-06-25 22:16:13
回答 7查看 63K关注 0票数 60

我不能在我的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 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);

下面是logcat:

06-25 16:08:32.497: D/调试(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):致命异常: main

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)

有人知道我如何解决这个问题吗?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-06-25 22:31:02

Eclipse经常会打乱你的资源。这会导致一些奇怪的行为,比如字符串和图像在整个应用程序中交换,更常见的是classCastException(s),当Eclipse交换视图的ids时就会发生这种情况。

以下是该问题的几个解决方案:

清理您的项目。

修改xml布局文件并保存。

删除R文件。(不用担心它会再次自动生成)。

基本上,任何可以使您的项目重新构建并重新生成R文件的操作。

票数 180
EN

Stack Overflow用户

发布于 2013-03-22 23:16:41

只要清理一下你的项目,一切都会好起来的。

票数 4
EN

Stack Overflow用户

发布于 2013-10-02 22:15:43

最初,我得到的是错误:

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

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

作为修复,我将TextViewid重命名为

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

甚至清理和其他技术都不起作用,但最终重命名的id就像一个护身符。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11191040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档