0

I've this layout xml, named 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>

I want to write the description of the element, but when I assign to a variable the textview element, the emulator crashes. This is the code:

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);

    }

Help me to understand!

1
  • using the this keyboard isn't incredibly great style, in my opinion... just get rid of it. it's obvious that you are invoking the Activitys findViewById method. Commented Jun 27, 2012 at 16:59

1 Answer 1

2

Try

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

instead of

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

You are using TextView in xml layout. But you tried to cast this object to EditText

What are you going to use? If you want this text to be editable you need to change your component to EditText in xml and in your class.

  • TextView - just prints text
  • EditText - lets you to edit text in program
Sign up to request clarification or add additional context in comments.

1 Comment

+ change your descr type to EditText.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.