Android -динамический TextView поверх предыдущего TextView

Я делаю пример динамического просмотра текста, который создается нажатием кнопки. формат, в котором они созданы, похож на:

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 ответа

Решение

Вы можете указать индекс где TextView должен быть добавлен в ViewGroup...

ViewGroup.addView(TextView, 0);

каждый раз, когда вы создаете TextView и добавляете в mLayoutдобавить с index 0, который добавит поверх предыдущего TextView

mLayout.addView(createNewTextView("TextView"),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);
}
Другие вопросы по тегам