无法找到该视图并获得空引用

时间:2017-08-10 17:14:53

标签: java android android-layout nullpointerexception android-view

您好我正在使用Udacity课程学习Android开发,我在尝试将子视图添加到LinearLayout时收到错误。
以下是xml文件和活动的类文件
请帮忙
我得到的错误是
由以下引起:java.lang.NullPointerException:尝试调用虚方法' void android.widget.LinearLayout.addView(android.view.View)'在空对象引用上

numbers_activity.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:app="http://schemas.android.com/apk/res-auto"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical"
            android:id="@+id/rootView"
            tools:context="com.example.android.miwok.NumbersActivity">


    </LinearLayout>

NumversActivity.java

    package com.example.android.miwok;

    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;
    import android.widget.LinearLayout;
    import android.widget.TextView;

    import java.util.ArrayList;

    public class NumbersActivity extends AppCompatActivity {

            @Override
            protected void onCreate(Bundle savedInstanceState) {
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.activity_phrases);

                    ArrayList<String> words = new ArrayList<String>();
                    words.add("one");
                    words.add("two");
                    words.add("three");
                    words.add("four");
                    words.add("five");
                    words.add("six");
                    words.add("seven");
                    words.add("eight");
                    words.add("nine");
                    words.add("ten");

                    LinearLayout rootView = (LinearLayout) findViewById(R.id.rootView);

                    TextView wordView = new TextView(this);
                    wordView.setText(words.get(1));
                    rootView.addView(wordView);

            }
    }

1 个答案:

答案 0 :(得分:2)

您必须将正确的布局设置为Activity

将onCreate方法中的第二行更改为:

setContentView(numbers_activity.xml);

您的布局文件为numbers_activity.xml。但您要将activity_phrases设置为Activity