2014-01-23 2 views
1

Я делаю пример динамического текстового просмотра, созданного нажатием кнопки. формат, в котором они создаются аналогично:Android -Dynamic 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; 
}} 
+0

Почему бы не просто поменять контент? – keshav

ответ

5

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

ViewGroup.addView(TextView, 0); 

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

mLayout.addView(createNewTextView("TextView"),0); 
+0

Thankyou !! он отлично работает! – Loreln

+0

@ Loreln cool ... Вы можете принять ответ, если он вам помог ... –

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); 
} 
Смежные вопросы