在Android上动态添加TextView到ScrollView

时间:2011-10-28 14:30:40

标签: android dynamic textview scrollview

我尝试让ScrollView像ListView一样运行。 每一行都是动态添加的TextView。 所以我试试这段代码

this.scrollView = (ScrollView) findViewById(R.id.scrollView1);
this.linearLayout = (LinearLayout) findViewById(R.id.linearLayout2);
this.linearLayout.setOrientation(LinearLayout.VERTICAL);
TextView[] tx = new TextView[10];
for (int i = 0; i < 10; i++) {
    tx[i] = new TextView(this);
    tx[i].setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
tx[i].setText("This is the textviewNo" + i);
this.linearLayout.addView(tx[i]);
}
this.scrollView.addView(this.linearLayout);
setContentView(this.scrollView);

但是我得到了这个例外

10-28 13:35:59.120: ERROR/AndroidRuntime(2346): Caused by: java.lang.IllegalStateException: ScrollView can host only one direct child

在this.scrollView.addView(this.linearLayout)行 我做错了什么? 感谢

1 个答案:

答案 0 :(得分:4)

异常非常明确:您不能向ScrollView添加多个子项。从你的代码我假设linearLayout2已经在ScrollView中?如果是这样,那么你不需要

this.scrollView.addView(this.linearLayout);

,因为你将TextViews添加到已经在ScrollView

中的LinearLayout