2017-05-31 32 views
-1
public class MainActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    String test = "test"; 
    TextView text = (TextView) findViewById(R.id.textView); 
    text.setText(test); 

    setContentView(R.layout.activity_main); 
} 

的問題在一個片段開始,我嘗試了所有的StackOverflow解決方案無濟於事,所以我做了一個新的構建,現在我只是想使它在MainActivity工作。有人可以請解釋爲什麼這段代碼不會更新textView,以及爲什麼它會引發崩潰。我已經嘗試過使用自己的setText()方法,我嘗試過使用來自其他更安全位置的字符串和字符數組,並且在setContentView()之前和之後移動了代碼,並且它只是另一種方式以不同的方式編碼上面的^,我可能試過了。我嘗試的每一件事都會導致相同的結果。這讓我相信這個解決方案不僅僅在上面的代碼中,還有一些被忽視的東西,可能是一個簡單的修復。謝謝!在Java代碼中更改的TextView導致崩潰/無法正常工作

編輯:這是我的xml,我的大一CS感覺到看到android:text =「」的線條感到興奮。

<TextView 
    android:id="@+id/textView" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="TextView" 
    app:layout_constraintLeft_toLeftOf="parent" 
+0

之前,必須調用setContentView方法你要調用'的setContentView()'_before_你試圖找到'View's在其佈局。 –

回答

0

試試這個代碼調用findViewById方法

@Override 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
String test = "test"; 
TextView text = (TextView) findViewById(R.id.textView); 
text.setText(test); 


} 
+0

感謝您的快速回復,在setContentView()之後嘗試了代碼,仍然導致應用程序停止。發佈任何崩潰日誌的幫助? –

+0

你能分享這個錯誤嗎? – Ekrem

+0

保持,現在它正在工作,我以前的評論是在非新鮮的構建上使用該修復的結果。感謝您的幫助,你有一個想法,爲什麼代碼不能在一個片段中工作?也就是說,我必須改變setContentView的內容,即使那不是實際代碼的地方嗎? –