Java 更改TextView的文本会引发空指针异常

Java 更改TextView的文本会引发空指针异常,java,android,exception,textview,Java,Android,Exception,Textview,我只是在遵循Android网站上的基本教程。然而,我正试图改变一些事情只是为了好玩。例如,我在XML布局文件中定义了一个静态TextView,而不是在DisplayMessageActivty类的onCreate(…)方法中创建运行时TextView(如教程中所示),因为我还想显示其他内容(例如,一条静态消息以及从主屏幕输入的结果消息)。因此,在DisplayMessageActivty的相应XML文件中,我将TextView和其他内容定义为: [...] <TextView andro

我只是在遵循Android网站上的基本教程。然而,我正试图改变一些事情只是为了好玩。例如,我在XML布局文件中定义了一个静态
TextView
,而不是在
DisplayMessageActivty
类的
onCreate(…)
方法中创建运行时
TextView
(如教程中所示),因为我还想显示其他内容(例如,一条静态消息以及从主屏幕输入的结果消息)。因此,在
DisplayMessageActivty
的相应XML文件中,我将
TextView
和其他内容定义为:

[...]

<TextView android:id="@+id/dynamic_msg"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:text="ciao"
    android:textSize="40dp"
    android:layout_below="@id/static_msg"
    android:layout_alignParentLeft="true"
    android:layout_toLeftOf="@+id/times" />

[...]
不幸的是,当我按下主活动中的
Send
按钮时,我的代码抛出以下异常:

java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'void android.widget.TextView.setText(java.lang.CharSequence)'


我在互联网上搜索过,其他教程中采用的方法看起来非常相似,因此我无法理解我做错了什么。谢谢!

内容未设置到视图中,如果您在
设置内容视图之前执行此操作,
findviewByid
将返回NULL

移动
setContentView
findviewByid
之前,它会起作用。

setContentView
findviewByid
之前,否则你没有小部件可以查找!!!我不知道…非常感谢你。如果你把你的评论作为答案,我可以投票;)
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Get the message from the intent
    Intent intent = getIntent();
    String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

    // HERE I WANT TO CHANGE THE CONTENT OF THE TEXTVIEW
    TextView dynamicText = (TextView) findViewById(R.id.dynamic_msg);
    dynamicText.setText(message);

    setContentView(R.layout.activity_display_message);

    // Up button
    getActionBar().setDisplayHomeAsUpEnabled(true);
}