带列表视图的表格布局

Tablelayout with listview

我正在开发一个 activity,我在其中使用带有 table 布局的列表视图。我想在该列表视图中显示 3 个文本(来自 mysql 数据库值),但问题是文本的显示顺序略有偏离列表顺序,如

Text1    Text1   Text1                       Text1    Text1   Text1
Text2 Text2      Text2     and i want this   Text2    Text2   Text2
Text3   Text3     Text3                      Text3    Text3   Text3

这样..所以关于列表视图或文本视图的 属性 正确设置顺序的想法?然后请评论...

List_row.xml

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"

    android:stretchColumns="1">
    <TableRow
         android:background="@drawable/table_row_bg"
        >
        <TextView
            android:id="@+id/adapter_text_estate"
            android:text="estate"
            android:gravity="center"
            android:textSize="8dp"
            android:layout_marginRight="10sp"
            android:padding="3dip" />
        <TextView
            android:id="@+id/adapter_text_division"
            android:text="division"
            android:gravity="left"
            android:textSize="8dp"
            android:padding="3dip" />
        <TextView
            android:id="@+id/adapter_text_id"
            android:text="id"
            android:textSize="8dp"
            android:gravity="right"
            android:padding="3dip" />
    </TableRow>
</TableLayout>

Main.xml

<?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"
    android:background="#E0FFFF"
    android:orientation="vertical" >

 <TextView
 android:id="@+id/cources_title"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="ESTATE NAME"
 android:textColor="#429ed7"
 android:textSize="12sp"
 android:textStyle="bold" />

 <ListView
 android:id="@+id/listCollege"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:visibility="gone"
 android:layout_marginTop="8dp" >
 </ListView>
</LinearLayout>

尝试删除 stretchColumns、添加相等的权重并将重心设置为中心。
(另外,替换 fill_parent is deprecated, use match_parent

<TableLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <!-- remove stretchColumns -->

    <TableRow
        android:background="@drawable/table_row_bg"
        android:weightSum="3"> <!-- add -->

        <TextView
            android:id="@+id/adapter_text_estate"
            android:text="estate"
            android:gravity="center"
            android:textSize="8dp"
            android:layout_marginRight="10sp"
            android:padding="3dip"
            android:layout_weight="1"/> <!-- add -->

        <TextView
            android:id="@+id/adapter_text_division"
            android:text="division"
            android:gravity="center"
            android:textSize="8dp"
            android:padding="3dip"
            android:layout_weight="1"/> <!-- add -->

         <TextView
            android:id="@+id/adapter_text_id"
            android:text="id"
            android:textSize="8dp"
            android:gravity="center"
            android:padding="3dip"
            android:layout_weight="1"/> <!-- add -->
    </TableRow>
 </TableLayout>

@Sasya 试试这个代码希望这可以帮助你,你可以在不使用 Table 布局的情况下实现这个设计..

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="3">

    <TextView
        android:id="@+id/adapter_text_estate"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:padding="5dp"
        android:text="estate"
        android:textSize="20sp" />

    <TextView
        android:id="@+id/adapter_text_division"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:padding="5dp"
        android:text="estate"
        android:textSize="20sp" />

    <TextView
        android:id="@+id/adapter_text_id"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:gravity="center"
        android:padding="5dp"
        android:text="estate"
        android:textSize="20sp" />
</LinearLayout>    </LinearLayout>