如何动态添加TextView?注释掉的代码不起作用。
public class myTextSwitcher extends Activity {
private TextView myText;
public myTextSwitcher(String string){
//myText = new TextView(this);
//myText.setText("My Text");
}
}
答案 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>