Android 尝试调用虚拟方法';。。。setText(java.lang.CharSequence)和#x27;关于空对象引用

Android 尝试调用虚拟方法';。。。setText(java.lang.CharSequence)和#x27;关于空对象引用,android,textview,Android,Textview,我是一个德国人,刚接触安卓系统,所以对于糟糕的英语或愚蠢的错误,我深表歉意。。。 我想编辑我的文本视图的文本。 尽管我已经阅读了错误消息中的问题,但我没有找到解决方案。。。 由于以下代码,我收到标题中的错误消息。 为什么? Java代码(仅显示错误的OnCreate方法) FXML(只是TextView的一部分,最初它放在FrameView中) 如果有人能为我提供解决方案,我会很高兴的:)简单的问题,甚至更简单的修复。在展开布局之前,您正在访问视图。您的代码需要通过以下方式重新排列: @Ov

我是一个德国人,刚接触安卓系统,所以对于糟糕的英语或愚蠢的错误,我深表歉意。。。 我想编辑我的文本视图的文本。 尽管我已经阅读了错误消息中的问题,但我没有找到解决方案。。。 由于以下代码,我收到标题中的错误消息。 为什么?

Java代码(仅显示错误的OnCreate方法)

FXML(只是TextView的一部分,最初它放在FrameView中)



如果有人能为我提供解决方案,我会很高兴的:)

简单的问题,甚至更简单的修复。在展开布局之前,您正在访问视图。您的代码需要通过以下方式重新排列:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView( R.layout.activity);

    TextView t= (TextView)findViewById(R.id.startofweek);
    t.setText("05.09.2016");    
}

在xml文件中,您使用“示例”作为TextView的id。但是,在代码中,当您初始化TextView时,您正在查找“R.id.startofweek”

PS:在变量初始化之后,您还调用了“setContentView(R.layout.activities);”。必须在初始化TextView之前完成此操作

您可以使用以下代码:

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

    TextView t= (TextView)findViewById(R.id.example);
    t.setText("05.09.2016");

} 

非常感谢。我刚把它改成原来的startofweek:D
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView( R.layout.activity);

    TextView t= (TextView)findViewById(R.id.startofweek);
    t.setText("05.09.2016");    
}
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView( R.layout.activities);

    TextView t= (TextView)findViewById(R.id.example);
    t.setText("05.09.2016");

}