Ho visto molti post riguardanti l'aggiunta dinamica di righe di tabella, ma non sono sicuro di cosa mi manchi.Le righe della tabella aggiunte dinamicamente non vengono visualizzate
Quando eseguo quanto segue, non viene visualizzato nulla (a parte la barra del titolo dell'applicazione).
mio layout:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/table_view_test_main"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<ScrollView
android:id="@+id/tvt_scroll"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
>
<RelativeLayout
android:id="@+id/tvt_scroll_relative"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableLayout
android:id="@+id/tvt_tableview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
</TableLayout>
</RelativeLayout>
</ScrollView>
</RelativeLayout>
mia attività:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.table_view);
TableLayout tableLayout = (TableLayout) findViewById(R.id.tvt_tableview);
TableRow tableRow = new TableRow(this);
tableRow.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, TableRow.LayoutParams.WRAP_CONTENT));
TextView column1 = new TextView(this);
column1.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
column1.setBackgroundColor(Color.YELLOW);
column1.setTextColor(Color.BLUE);
column1.setText("Col1 Value");
tableRow.addView(column1);
TextView column2 = new TextView(this);
column2.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
column2.setBackgroundColor(Color.RED);
column2.setTextColor(Color.GREEN);
column2.setText("Col2 Value");
tableRow.addView(column2);
tableLayout.addView(tableRow, new TableLayout.LayoutParams(TableLayout.LayoutParams.FILL_PARENT, TableLayout.LayoutParams.WRAP_CONTENT));
//tl.refreshDrawableState();
//findViewById(R.id.tvt_scroll_relative).refreshDrawableState();
}
Interessante. Tutto ciò mi sembra buono (non che io sia assolutamente sicuro di nulla qui ...). Consiglierò di provare ad aggiungere dinamicamente altri 'TextView' agli altri layout sopra' TableLayout'. Vedi se riesci a far apparire * qualcosa *. Facci sapere come funziona. –
rimuovere la tabella di rigaRow.setLayoutParams(); dopo aver istanziato TableRow, dovrebbe funzionare credo. Fammi sapere se funziona, in modo che io possa postarlo come soluzione. –
@Yashwanth Kumar, rimuoverlo da solo non ha aiutato. Cambiando ViewGroup.LayoutParams a TableRow.LayoutParams o rimuovendoli completamente risolve il problema. – CrackerJack9