2011-06-29 66 views
8

我有一個包含每個類的兩個字符串的類的數組。我試圖在兩個不同的位置點擊按鈕(屏幕中間,以及右上方的另一個語句),在屏幕上顯示這兩個字符串(它們是句子)。在Android屏幕上動態顯示字符串文本

問題是我只知道如何通過XML佈局文件在屏幕上獲取文本,而不是動態地。我會如何去做這件事?我已經有了用XML完成的按鈕和背景。

謝謝!

回答

13

動態添加視圖。使用addView函數。

public MyActivity extends Activity { 
    private TextView myText = null; 

    @Override 
    public onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.id.mylayout); 

    LinearLayout lView = (LinearLayout)findViewById(R.id.mylinearlayout); 

    myText = new TextView(); 
    myText.setText("My Text"); 

    lView.addView(myText); 
} 

如果你不希望使用在所有的XML文件:

//This is in the onCreate method 
LinearLayout lView = new LinearLayout(this); 

myText = new TextView(this); 
myText.setText("My Text"); 

lView.addView(myText); 

setContentView(lView); 
+0

謝謝,但我現在有另一個問題。我知道如何動態創建一個新的TextView,但我需要在另一個函數中引用它(每次調用此函數時都會更改文本)。但是當它在onCreate函數中時我無法訪問它。我試圖通過將它放在onCreate函數之外使其成爲類變量,但初始化時會出錯。另外,每次更改文本時,是否必須執行「lView.addView(yaddayadda)」?或者它會自動顯示改變的文本?謝謝! – lespommes

+0

將TextView作爲Activity的成員。看到我的代碼上面的例子 – Spidy

+0

謝謝我現在變得非常接近,一個morrrrre事情,如果你可以幫助:)現在,當我做sentenceText.setText(「bluh bluh」)我在LogCat中得到一個NullPointerException。這不是因爲我在聲明中將它設置爲null嗎? – lespommes

7

這不是完全清楚你想怎麼顯示的文本,但你肯定可以使用吐司消息:

Toast.makeText(getApplicationContext(), "Sample Text", Toast.LENGTH_LONG).show();