0

我有这个布局 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);

    }

帮助我理解!

4

1 回答 1

2

尝试

public TextView descr;
// ...
descr = (TextView) this.findViewById(R.id.descrizione);

代替

public EditText descr;
// ...
descr = (EditText) this.findViewById(R.id.descrizione);

您正在使用TextViewxml 布局。但是您试图将此对象投射到EditText

你打算用什么?如果您希望此文本可编辑,您需要将您的组件更改为EditTextxml 和您的类。

  • TextView - 只打印文本
  • EditText - 让您在程序中编辑文本
于 2012-06-27T16:58:44.063 回答