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

时间:2012-12-02 22:29:11

标签: android eclipse

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

如果有人知道然后告诉我......我会非常感谢


爪哇:

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>

5 个答案:

答案 0 :(得分:45)

删除R.java 清洁项目 保存文件 建设与发展运行

答案 1 :(得分:5)

<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 ...

答案 2 :(得分:4)

我可以通过使用project / clean清理项目来解决它。

答案 3 :(得分:1)

如果存在清理问题,那么它可能会抛出任何转换错误。我得到了这个:

Caused by: java.lang.ClassCastException: android.widget.EditText cannot be cast to android.widget.LinearLayout

在eclipse中,只需转到Project&gt;清洁&amp;选择要清理它的项目。

答案 4 :(得分:0)

您在xml中使用textview,但在您尝试的活动中 EditText t =(EditText)findViewById(R.id.t) - 不正确; 使用 TextView t =(TextView)findViewById(R.id.t);

或将xml TextView更改为EditText