2012-02-23 73 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显示文本视图。

欲了解更多信息,请访问