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