1

我正在制作一个动态文本视图的示例,它是通过按下按钮创建的。创建它们的格式类似于:

1- Textview (fist created)
2- TextView
3- TextView (last created)

我想知道我们是否可以按升序创建它们,在前一个 TextView 之上。像这样的东西:

3- TextView (last created)
2- TextView
1- TextView (first created)

这是我的示例代码:

 private OnClickListener onClick() {
     return new OnClickListener() {

         @Override
         public void onClick(View v) {
             mLayout.addView(createNewTextView("TextView"));
             count = count +1;
         }
     };
 }

 private TextView createNewTextView(String text) {
     final LayoutParams lparams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
     final TextView textView = new TextView(this);
     textView.setLayoutParams(lparams);
     textView.setText(count+ "- " + text);
     textView.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18);
     return textView;
 }}
4

2 回答 2

5

您可以指定TextView必须在其中添加的索引ViewGroup...

ViewGroup.addView(TextView, 0);

每次创建 TextView 并添加到 时mLayout,添加index0 将添加到上一个TextView

mLayout.addView(createNewTextView("TextView"),0);
于 2014-01-23T05:05:21.507 回答
0

您可以创建一个LinearLayout并在另一个下方添加一个,使用layout.addView(TextView). 我在下面有一个伪代码,它解释了它是如何完成的。

for(Option option : options){
     view = View.inflate(mContext,R.layout.textView,null);
     ((TextView)view.findViewById(R.id.txt_key)).setText(" SOME TEXT : ");
     ((TextView)view.findViewById(R.id.txt_value)).setText("SOME VALUE ");
     mLlCtr.addView(view);
}
于 2014-01-23T05:16:52.400 回答