[英]java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText
[英]java.lang.ClassCastException: android.widget.TextView
我有這個布局xml,名為pagina.xml:
<?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="match_parent"
android:gravity="center_vertical" >
<TextView
android:id="@+id/descrizione"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
<Button
android:id="@+id/scelta1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:text="Button" />
<Button
android:id="@+id/scelta3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/scelta1"
android:layout_alignLeft="@+id/scelta1"
android:layout_marginBottom="16dp"
android:text="Button" />
<Button
android:id="@+id/scelta2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/scelta3"
android:layout_alignLeft="@+id/scelta3"
android:layout_marginBottom="18dp"
android:text="Button" />
</RelativeLayout>
我想編寫元素的描述,但是當我將textview元素賦給變量時,模擬器會崩潰。 這是代碼:
public int posizione;
public String stanza;
public string[] azioni;
public int[] vai;
public XmlPullParser xpp;
public EditText descr;
public Button scelta_1, scelta_2, scelta_3;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.pagina);
try {
carica_stanza(posizione);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
descr = (EditText) this.findViewById(R.id.descrizione);
scelta_1= (Button) this.findViewById(R.id.scelta1);
scelta_2= (Button) this.findViewById(R.id.scelta2);
scelta_3= (Button) this.findViewById(R.id.scelta3);
}
幫幫我理解!
嘗試
public TextView descr;
// ...
descr = (TextView) this.findViewById(R.id.descrizione);
代替
public EditText descr;
// ...
descr = (EditText) this.findViewById(R.id.descrizione);
您正在使用xml布局中的TextView
。 但是您嘗試將此對象EditText
為EditText
你打算用什么? 如果您希望此文本可編輯,則需要將組件更改為xml和類中的EditText
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.