2010-07-18 134 views
17

我在與將文本一個TextView一個問題:爲什麼我不能將文本設置爲Android TextView?

TextView android:editable = "true". 

在我的.java好像這應該工作:

text = (EditText) findViewById(R.id.this_is_the_id_of_textview); 
text.setText("TEST"); 

但事實並非如此。任何人都可以告訴我這裏有什麼問題嗎?

回答

17

在你的java類中,將「EditText」類型設置爲「TextView」。因爲你已經在layout.xml文件中聲明的TextView

35

的代碼應該改爲是這樣的:

TextView text = (TextView) findViewById(R.id.this_is_the_id_of_textview); 
text.setText("test"); 
6

要在活動的setText任何比使用下面的代碼... 按照以下步驟一由一個:

1.Declare

private TextView event_post; 

2.Bind這

event_post = (TextView) findViewById(R.id.text_post); 

3.SetText在

event_post.setText(event_post_count); 
+0

請提供正確的描述,如果你回答這個問題,因此會很容易理解爲其他用戶 – 2014-05-06 10:59:49

+0

這個答案在低質量止跌回升審查隊列,大概是因爲你沒有解釋一些內容。如果你解釋這一點(在你的答案中),你更有可能得到更多的讚揚 - 而提問者實際上學到了一些東西! – 2014-05-06 11:03:54

0

在你的XML,你曾用過的TextView,但在Java代碼中,您曾使用過的EditText而不是TextView的。如果將其更改爲TextView,則可以將Text設置爲TextView對象。

text = (TextView) findViewById(R.id.this_is_the_id_of_textview); 
text.setText("TEST"); 

希望它能起作用。

4

嘗試像這樣:

TextView text=(TextView)findViewById(R.id.textviewID); 
text.setText("Text"); 

取而代之的是:

text = (EditText) findViewById(R.id.this_is_the_id_of_textview); 
text.setText("TEST"); 
1

或者你也可以做到這一點的方法:

((TextView)findViewById(R.id.this_is_the_id_of_textview)).setText("Test"); 
1

我有一個類似的問題,但是我的計劃當我嘗試設置文本時會崩潰。我試圖從擴展AsyncTask的類中設置文本值,這就是導致問題的原因。

要解決這個問題,我提出我的setText到onPostExecute方法

protected void onPostExecute(Void result) { 
    super.onPostExecute(result); 

    TextView text = (TextView) findViewById(R.id.errorsToday); 
    text.setText("new string value"); 
} 
+0

這解決了我的問題,但是我使用了「onPostCreate」事件,因爲我認爲控件尚未在「onCreate」回調中呈現。 – 2016-06-26 05:45:09

相關問題