添加动态视图是TableLayout

时间:2014-07-10 07:12:24

标签: android performance tablelayout

我有一个像下面附带屏幕的UI。

TableLayout with Dummy Data

所以我选择TableLayout。 现在数据来自API,记录数量超过300个。

TableLayout位于ScrollView内。我必须动态地在TableLayout中添加行,因为数据来自Webservices。

现在我自动添加了300多个视图,因为TableLayout屏幕的一行响应速度很慢。花时间添加和绘制视图。

以下是我添加动态视图的逻辑

TableLayout table=(TableLayout)findViewById(R.id.table);
for(int count=0;count<data.size();count++)
{
   // Here I create dynamic TableRow and set Data inside Row
   table.addView(row);
}

我选择TableLayout的原因是只保留行和列格式的数据。

LinearLayout内的{p> RelativeLayout / ListView未正确保持对齐。

有人可以建议我更优化的解决方案吗?

下面是我使用过LinearLayout

的xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/txtRank"
        style="@style/txt_normal_dark_gray"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:padding="@dimen/small_padding"" />

    <TextView
        android:id="@+id/txtDriverName"
        style="@style/txt_normal_dark_gray"
        android:layout_width="0dip"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:padding="@dimen/small_padding" />

    <TextView
        android:id="@+id/txtPts"
        style="@style/txt_normal_dark_gray"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:padding="@dimen/small_padding" />


    <TextView
        android:id="@+id/txtWins"
        style="@style/txt_normal_dark_gray"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:padding="@dimen/small_padding" />

</LinearLayout>

现在猜测txtDriverName有长字符串或者txtWins是空字符串,下一个列表行项目是否会有相同的对齐方式?我也尝试使用weight_sum并为所有TextViews赋予了权重。

0 个答案:

没有答案