0

数据来自服务器,想在表格布局中显示数据,但想在来自服务器的一个请求时显示一行......

4

1 回答 1

1

您需要使用 One TablLayout 和 One Row View,可以根据您的数据重复。

xml:

<!-- THE DATA TABLE -->
        <TableLayout
                android:id="@+id/data_table"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                >
                <TableRow>
                        <TextView
                                android:text="@string/th_id"
                                android:minWidth="50px"
                                />
                        <TextView
                                android:text="@string/th_text_one"
                                android:minWidth="125px"
                                />
                        <TextView
                                android:text="@string/th_text_two"
                                android:minWidth="125px"
                                />
                </TableRow>
        </TableLayout>

班级:

 // the table that displays the data
        TableLayout dataTable;
// THE DATA TABLE
        dataTable=(TableLayout)findViewById(R.id.data_table);


   /**
     * updates the table from the database.
     */
    private void updateTable()
    {


      // delete all but the first row.  remember that the count
      // starts at one and the index starts at zero


  while (dataTable.getChildCount() > 1)
    {
            // while there are at least two rows in the table widget, delete
            // the second row.
            dataTable.removeViewAt(1);
    }

        // collect the current row information from the Server and
        // store it in a two dimensional ArrayList
        ArrayList<ArrayList<Object>> data = getAllRowsAsArrays();

        // iterate the ArrayList, create new rows each time and add them
        // to the table widget.
        for (int position=0; position < data.size(); position++)
        {
                TableRow tableRow= new TableRow(this);

                ArrayList<Object> row = data.get(position);

                TextView idText = new TextView(this);
                idText.setText(row.get(0).toString());
                tableRow.addView(idText);

                TextView textOne = new TextView(this);
                textOne.setText(row.get(1).toString());
                tableRow.addView(textOne);

                TextView textTwo = new TextView(this);
                textTwo.setText(row.get(2).toString());
                tableRow.addView(textTwo);

                dataTable.addView(tableRow);
        }
    }
于 2013-06-29T06:30:54.330 回答