0

我想以编程方式添加一个围绕 TextView 和 Button 的 LinearLayout。我希望它采用一个字符串数组,然后使用字符串数组的长度,添加那么多 TextView,每个都有自己的按钮。

所以首先:

String [] s = { .... the values ....}
int sL = s.length;
TextView t1 = new TextView (this);
// then somehow create t2, t3... etc. matching the length of the String array.

这是最好的方法还是有其他方法可以做到这一点?在某些情况下,它是一个测验应用程序,我在资源中创建了一个类别列表作为值,我试图以编程方式让我的应用程序创建与类别一样多的 TextView,然后将每个 TextView 设置为每个类别,然后获取每个按钮将用户带到该类别的问题。

4

2 回答 2

2

您正在正确启动它,只需执行一个 for 循环并将文本视图添加到您的线性布局。

// You linearlayout in which you want your textview
LinearLayout linearLayout = (LinearLayout) findViewById(R.id.mylayout);
linearLayout.setBackgroundColor(Color.TRANSPARENT);

String [] s = { .... the values ....}
int sL = s.length;
TextView textView = null;

// For later use if you'd like
ArrayList<TextView> tViews = new ArrayList<TextView>();

for (int i = 0; i < sL; i++)
{
    textView = new TextView(this);
    textView.setText(s[i]);
    linearLayout.addView(textView);
    tViews.add(textView);
}

这种做法没有错。如果您想稍后使用这些文本视图(为它们设置文本或其他内容)将它们存储在某种数组中。编辑代码

于 2012-11-07T19:23:40.267 回答
0

您可以执行以下操作:

for(int i=0;i<s.length;i++){
  TextView t=new TextView(this);
  t.setText(s[i]);
  yourLinearLayout.addView(t);
}

但我真的认为使用 ListView 会更好地提高性能;)

于 2012-11-07T19:24:48.590 回答