动态添加TextView - Android

时间:2011-09-08 20:24:21

标签: android textview

如何动态添加TextView?注释掉的代码不起作用。

public class myTextSwitcher extends Activity {

    private TextView myText;
    public myTextSwitcher(String string){

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

4 个答案:

答案 0 :(得分:4)

您正在创建文本视图并设置其值,但您没有指定应在何处以及如何显示。您的myText对象需要具有某种容器才能使其可见。

您要做的是动态布局视图。在此处查看good starter article。来自文章:

// This is where and how the view is used
TextView tv = new TextView(this);
tv.setText("Dynamic layouts ftw!");
ll.addView(tv);

// this part is where the containers get "wired" together
ScrollView sv = new ScrollView(this);
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.VERTICAL);
sv.addView(ll);

答案 1 :(得分:1)

首先,你不应该在构造函数中添加它,非默认构造函数对Activity几乎没用。最后,您正在创建一个新的TextView但是您没有在任何地方添加它。在您的内容视图中获取一些layout(可能包含findViewById),然后使用layout.addView(myText)调用{{1}}。

答案 2 :(得分:0)

您是否使用setContentView(myText);

将文字视图添加到活动中

制作本

myText = new TextView(this);
myText.setText("foo");
setContentView(myText);

答案 3 :(得分:0)

在oncreate()方法中

    final TextView tv1 = new TextView(this);
    tv1.setText("Hii Folks");
    tv1.setTextSize(14);
    tv1.setGravity(Gravity.CENTER_VERTICAL);
    LinearLayout ll = (LinearLayout) findViewById(R.id.lin);
   ll.addView(tv1);

您的activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/lin"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_vertical|center_horizontal"
    android:orientation="horizontal">
</LinearLayout>