2016-09-06 54 views
2

我是一个德国人和新的android,所以对不好的英语或愚蠢的错误... 我想编辑我的TextView的文本。 尽管我已阅读错误消息的问题,但我没有找到解决方法... 由于以下代码,我在标题中收到错误消息。 为什么?试图调用虚拟方法'... TextView.setText(java.lang.CharSequence)'在一个空对象引用

的Java代码(只是onCreate方法,其中它显示错误)

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

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

    setContentView(R.layout.activities); 
} 

FXML(只是TextView的部分,原来它被放置在一个FrameView)

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:id="@+id/example" 
    android:layout_gravity="left|top" 
    android:layout_marginTop="20dp" 
    android:layout_marginLeft="70dp" 
    android:background="#00ffffff" 
    android:textStyle="bold" 
    android:textColor="#ffffff" 
    android:textSize="20dp" /> 

会如果有人有我的解决方案,请高兴:)

回答

1

简单的问题,甚至更简单的修复。在膨胀布局之前,您正在访问视图。你的代码需要改为由重新安排这样

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

    setContentView(R.layout.activities); 

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

} 
+0

谢谢! :) @FriendlyMikhail – VSchreyer

1

在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"); 

} 
+1

谢谢! 我刚刚改变它最初的开始周:D – VSchreyer

相关问题