Android -Dynamic TextView超过以前的TextView

时间:2014-01-23 05:02:36

标签: android android-layout textview dinamico

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

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;
 }}

2 个答案:

答案 0 :(得分:5)

您可以在TextView ...

中指定必须添加ViewGroup的索引
ViewGroup.addView(TextView, 0);

每次创建TextView并添加到mLayout时,都会添加index 0,这将添加到之前的TextView

之上
mLayout.addView(createNewTextView("TextView"),0);

答案 1 :(得分:0)

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

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);
}