Android TextView.setText(“”)停止我的应用程序

时间:2015-09-06 11:39:03

标签: android

每次我尝试我的android非常简单的代码我都会遇到这个问题 不幸的是.apk已经停止了。

当我删除uid.setText(“txt”)时,应用程序正常运行。

我的活动代码

            public class MainActivity extends Activity {

            @Override
            protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            TextView uid = (TextView)findViewById(R.id.textView1); 
            uid.setText("txt");
            setContentView(R.layout.activity_main);

我的xml文件

    <TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_above="@+id/textView2"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="71dp"/>

2 个答案:

答案 0 :(得分:1)

移动setContentView(R.layout.activity_main);起来。

如下代码所示:

 @Override
        protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        TextView uid = (TextView)findViewById(R.id.textView1); 
        uid.setText("txt");

答案 1 :(得分:0)

在android中,所有用户界面都是用xml编写的。当一个活动开始时,它需要知道要向用户显示哪个UI xml,因此当我们使用布局文件调用setContentView时,将呈现该特定的xml。 您的应用程序崩溃的原因是,您在textview上调用.setText()方法,但android活动无法理解要引用的textview。而PS,你可以有多个具有相同ID的UI元素,但是在不同的文件中。

因此,在引用任何UI元素之前,所有人一起调用setContentView()方法。