动态地在TableLayout中并排添加两个文本视图

时间:2017-12-06 17:20:29

标签: java android dynamic rows android-tablelayout

我正在尝试在表格中动态添加行。我需要在每一行中并排添加两个TextView。这必须动态完成。我编写了动态创建行的代码。我无法在侧面添加第二个TextView。

activity.xml

select * from file1;


field1  field2  field3
19      69      60
19      69      60

MainActivity.java

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:stretchColumns="0,1"
    android:id="@+id/tableView" 
    android:layout_weight="1"         
    android:layout_height="wrap_content" 
    android:layout_width="match_parent">
</TableLayout>`

2 个答案:

答案 0 :(得分:0)

您忘了设置LayoutParams

TableLayout ll = (TableLayout) findViewById(R.id.tableView);
for (int i = 0; i < 2; i++) {

    TableRow row = new TableRow(this);
    row.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT));

    TextView qty = new TextView(this);
    qty.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT));
    qty.setText("10");
    row.addView(qty);

    ll.addView(row);
}

答案 1 :(得分:0)

试试这个:

TableLayout ll = (TableLayout) findViewById(R.id.tableView);
TableRow row= new TableRow(this);
for (int i = 0; i <2; i++) {
    TableRow.LayoutParams lp = new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT);
    row.setLayoutParams(lp);
    TextView qty = new TextView(this);
    qty.setText("10");
    row.addView(qty);
}
ll.addView(row);

您添加了两个不同的行,每个行都有一个TextView,而不是一个带有两个TextView的行。

你需要两个等级。