3

在我的 Android 应用程序中有一个屏幕,其中包含一些以表格格式显示的数据。该表将有大约 5 列和至少 50 行。

我如何在android中创建一个表?

我搜索了一下,似乎每个人都建议对每个单元格使用 TableLayout 和 textView。使用这种技术似乎有点困难,因为有很多 textView 组件。

有没有其他解决方案?

4

3 回答 3

3
TableLayout lTableLayout;
lTableLayout = (TableLayout)findViewById(R.id.tblayout);
for(int i=0;i<10;i++){
TableRow tr1 = new TableRow(this);
tr1.setPadding(0, 5, 0, 0);
lTableLayout.addView(tr1, LayoutParams.WRAP_CONTENT,
                        LayoutParams.WRAP_CONTENT);
TextView tv11 = new TextView(this);
tv11.setPadding(2, 0, 0, 0);
tv11.setTextSize(12);
tr1.addView(tv11,LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT); // Can give width and height in numbers also.

}

这些将在采用表格布局的每一行中创建 10 行和 1 个文本视图。在您的 xml 文件中采用一个表格布局,如下所示:

<TableLayout
                    android:id="@+id/tblayout"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content" >
</TableLayout>
于 2012-04-05T11:30:25.347 回答
0

将 ListView 与自定义适配器一起使用,在 listview 项目中创建五个文本视图作为列.. 像这样 row.xml 创建 listitem

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="match_parent"
   android:layout_height="match_parent">

   <TextView android:text="TextView" android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
   <TextView android:text="TextView" android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
   <TextView android:text="TextView" android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
   <TextView android:text="TextView" android:id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
   <TextView android:text="TextView" android:id="@+id/textView5" android:layout_width="wrap_content" android:layout_height="wrap_content"/>
</LinearLayout>
于 2012-04-05T10:26:59.423 回答
0

它不需要用户 TableLayout。

您可以使用自定义 ListView 并将 ListView 的标题设置为您的列名

要创建自定义列表视图,请参阅此示例

于 2012-04-05T10:28:41.923 回答