2012-02-23 74 views
0

我是Android的新手。我創建了一個動態的textview,它顯示在模擬器上, 但我沒有添加這個textview使用addView然後它如何顯示?TextView未在Android中使用addView顯示

這裏是我的代碼:

package com.DynamicTextField; 

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.TextView; 

public class DynamicTextFieldActivity extends Activity { 
    /** Called when the activity is first created. */ 
    private TextView tv ; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     tv = new TextView(this); 
     tv.setText("Dynamic Text View Test\n"); 
     tv.setTextSize(18); 
     setContentView(tv); 
    } 
} 

什麼是增加的TextView的最佳方式?

任何人都可以幫忙!

謝謝。

+0

這段代碼是罰款,然後工作在哪裏的問題。 – Newts 2012-02-23 05:18:27

+0

是這段代碼正在工作,但我想解釋它是如何工作的。 – 2012-02-23 05:24:52

+0

'setContentView'將Activity的視圖設置爲傳遞給它的任何內容。既然你傳遞了一個'TextView',那就是它顯示在屏幕上的原因。 – triad 2012-02-23 05:44:04

回答

0

簡單。可以調用addViewView添加到ViewGroup(能夠包含其他ViewsView)。在您的示例中,您位於Activity之內,並且您打電話給setContentView,它將內容設置爲延伸爲View的任何內容。

在活動中使用視圖的正常方式是以xml或編程方式定義您的視圖組。如果你以編程方式做它看起來像這樣:

RelativeLayout layout = new RelativeLayout(context); 
TextView tv = new TextView(context); 
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(200, 200); 
params.addRule(RelativeLayout.CENTER_IN_PARENT); 
tv.setLayoutParams(params); 
layout.addView(tv); 

通常你會在它自己的類中定義視圖。但是,如果你希望你能做到這一切,創建你的活動,並使用「this」來代替上下文。

+0

:謝謝你的回覆,我已經更新了我的問題,請仔細閱讀,有幫助。 – 2012-02-23 05:18:38

+0

@SwatiSingh看到我的編輯。 – LuxuryMode 2012-02-23 05:23:25

0

您正在使用setContentView(tv);

這將您的內容以您的TextView

+0

:感謝您的回覆,我已更新我的問題請通過該問題,任何幫助appriciated。 – 2012-02-23 05:18:52

0

您是通過將電視查看調用的setContentView。

0

我認爲你必須清除你的android基礎知識。

TextView是一個視圖。在一個activity中,這個textview對象可以被添加,我們希望在我們的頁面中顯示這個文本視圖,然後我們有兩個方法。

首先,您必須在layout文件夾中創建xml,並通過setContentView(layout)將其顯示在活動中。

第二種方式,您必須添加textview對象並僅通過setContentView顯示文本視圖。

欲瞭解更多信息,請訪問