2010-07-07 3 views
2

Я новичок в android. Я должен добавить строку таблицы динамическим способом. В этой строке мне нужно добавить два дочерних (Textview). Но он отображает только одно текстовое окно (только первое). Вот мой кодКак добавить ребенка в tablerow динамически в android?

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.LinearLayout; 
import android.widget.ScrollView; 
import android.widget.TableRow; 
import android.widget.TextView; 

public class DynamicTextView extends Activity { 
/** Called when the activity is first created. */ 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    ScrollView sv = new ScrollView(this); 
    LinearLayout ll = new LinearLayout(this); 
    ll.setOrientation(LinearLayout.VERTICAL); 
    sv.addView(ll); 

    for(int i=0;i<30;i++){ 
    TableRow tbrow=new TableRow(this); 
    TextView tv1=new TextView(this); 
    tv1.setText("Dynamic TextView"); 
    TextView tv2=new TextView(this); 
    tv2.setText(" No : "+i); 
    tbrow.addView(tv1); 
    tbrow.addView(tv2); 
    ll.addView(tbrow); 
    } 
    setContentView(sv); 

    } 
} 

выход:

Dynamic TextView 
    Dynamic TextView 
    Dynamic TextView 
    Dynamic TextView 
    ......... 
    .......... 

ответ

1

добавить tablelayout.After добавив вид TableRow к TableLayout я получил ожидаемый результат.

........ 
    ......... 
    TableLayout tblayout=new TableLayout(this); 
    tblayout.addView(tbrow); 
    ........... 
    .............. 
+0

Право. Строки таблицы принадлежат внутри таблиц. Добавление их к другим представлениям, вероятно, является неопределенным поведением или, по крайней мере, не рекомендуется – MatrixFrog

Смежные вопросы