java.lang.ClassCastException: android.widget.TextView无法转换

8
12-01 00:36:28.058: E/AndroidRuntime(5062): Caused by: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText

如果有人知道,希望能告诉我,我遇到了上述错误...非常感谢。


Java:

Log.d("Textra", title); 
Log.d("Dextra", des); 
EditText t=(EditText) findViewById(R.id.t); 
EditText d=(EditText) findViewById(R.id.des); 
t.setText(title); 
d.setText(des);

XML:

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"> 

    <TextView 
        android:id="@+id/t" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="" 
        android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <TextView 
        android:id="@+id/des" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text=""/> 

</LinearLayout>

错误很简单,请发布您相关的Java代码、XML代码和所有LogCat错误,以便我们可以看到它发生在哪里。 - Sam
Java代码: Log.d("Textra", title); Log.d("Dextra", des); EditText t = (EditText) findViewById(R.id.t); EditText d = (EditText) findViewById(R.id.des); t.setText(title); d.setText(des); - Coder
<LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <TextView android:id="@+id/t" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="" android:textAppearance="?android:attr/textAppearanceLarge" /> - Coder
1
使用“[编辑]”将此信息添加到您的问题中,以适当的格式。 - Sam
5个回答

46

删除 R.java 清理项目 保存文件 构建并运行


谢谢AnDx,你节省了我很多时间! - Dimon
啊,谢谢你,这通常是我的默认选项。类似这样的东西让我感到很烦恼。 - LocalPCGuy
非常感谢你!+1 - Mahm00d
这个简单而出色的答案救了我的命。 - TechArcSri
2
我开始失去生存的意志了。感谢您恢复了我对Android开发的信心! - blogscot
简单地清理项目对我有用,但我还是点了+1。 - h_k

6
<TextView android:id="@+id/t" ... /> 
<TextView android:id="@+id/des" ... />

EditText t=(EditText) findViewById(R.id.t);
EditText d=(EditText) findViewById(R.id.des);

你想要使用TextViews还是EditTexts?

要么修改XML文件使用EditTexts,要么在Java代码中使用TextViews...


1
哦我的天啊...犯了一个大错误。感谢您的帮助。 - Coder

4

我可以通过使用项目/clean来清理项目,从而解决这个问题。


1
如果存在清理问题,则可能会抛出任何转换错误。我得到了这个:
Caused by: java.lang.ClassCastException: android.widget.EditText cannot be cast to android.widget.LinearLayout

在Eclipse中,只需转到“项目”>“清除”并选择要清理的项目。


0

你在xml中使用了TextView,但在activity中尝试使用EditText t=(EditText) findViewById(R.id.t) - 这是不正确的;

应该使用TextView t=(TextView) findViewById(R.id.t);

或者在xml中将TextView更改为EditText。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接