2016-09-06 80 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

相關問題