从arraylist动态添加textview

时间:2017-04-17 12:18:53

标签: android textview

是否可以动态地在相对布局中添加textView,从arraylist获取信息?我会解释一下。例如,我有一个从数据库中获得的五个单词的反对者。然后我会在其布局中创建5个不同的textView。 我无法使用listview,因为用户可以选择这些TextView的poszione。

我希望我能更好地解释,因为这是一件很复杂的事情,否则就会解释。

这是我正在使用的代码,因此我能够创建更多TextView,但不能从数组列表中创建。我还需要为每个TextView的上边距赋予不同的值!

-

感谢所有帮助我解决这个问题的人!

3 个答案:

答案 0 :(得分:1)

像这样创作

ArrayList<Integer> list=new ArrayList<Integer>();

如果您的列表大小为5

for(int i=0;i<list.size();i++){
TextView tv=new TextView(this);
tv.setText(""+list.get(i));
}

尝试这绝对有效.....

答案 1 :(得分:0)

final int N = 10; // total number of textviews to add

final TextView[] myTextViews = new TextView[N]; // create an empty array;

for (int i = 0; i < N; i++) {
    // create a new textview
    final TextView rowTextView = new TextView(this);

    // set some properties of rowTextView or something
    rowTextView.setText("This is row #" + i);

    // add the textview to the linearlayout
    myLinearLayout.addView(rowTextView);

    // save a reference to the textview for later
    myTextViews[i] = rowTextView;
}

答案 2 :(得分:0)

是的,您可以将textview添加到相对布局中。

RelativeLayout container = (RelativeLayout) findViewById(R.id.container);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,
                        ViewGroup.LayoutParams.WRAP_CONTENT);

    ArrayList<Integer> list=new ArrayList<Integer>();

    for(int i=0;i<list.size();i++){
       TextView textView = new TextView(this);
       textView1.setText("A"+i);
       textView1.setId(i);
       container.addView(textView);
       params.addRule(RelativeLayout.BELOW,i);      
    }