2012-03-19 105 views
1

我想在我的应用程序中使用相对布局。有两个TextViews和一个Button。这里是xml文件:Android相对布局以编程方式更改TextView

<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_height="fill_parent" 
android:layout_width="fill_parent" 
android:padding="30dip" 
android:orientation="vertical"> 


<TextView 
    android:id="@+id/up" 
    android:text="@string/start_game" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    /> 

<TextView 
    android:id="@+id/level" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:layout_below="@id/up"/> 
    /> 

    <Button android:id="@+id/start" 
    android:text = "@string/go" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:layout_alignParentBottom="true" 
    /> 

    </RelativeLayout> 

现在,带有id = up的TextView显示完美。对于第二个TextView(id = level),我想通过我的java代码向它添加文本。这是我做了什么:

 TextView text = (TextView) findViewById(R.id.level); 
     text.setText("Hello Android"); 

但是,这崩溃的程序。我在这里犯了什么错误?

+0

你在哪里执行该代码?请记住,您必须在'setContentView'之后执行此操作。 – Cristian 2012-03-19 21:45:42

+0

该代码应该是正确的,检查eclipse debug中的错误消息日志,看看哪一行代码是问题 – 2012-03-19 21:47:11

+0

唉!我在setContentView之前执行它。谢谢@克里斯蒂安 – Jazib 2012-03-19 23:10:35

回答

1

原来是这样......你必须总是使用findViewById之前调用setContentView

相关问题