如何使用listview填充表格布局

时间:2011-03-13 22:10:49

标签: android arrays listview tablelayout

我从蓝牙聊天示例中获得以下代码。我所要做的就是通过蓝牙获取数据,并在表格布局中不断地将其显示为正确的字符串。感谢BT示例,大部分内容都是为我完成的,但是更改主文件中的布局并没有奏效。我采取了正确的方法,还是需要制作一个全新的适配器来处理我的数据和布局要求?我理解代码的方式是将数据放入具有R.layout.message格式的数组中,然后R.id.in告诉程序如何显示信息。我是否需要为每个要显示数组数据的单元格提供单独的字段ID?我感谢你能给我的任何帮助。

 // Initialize the array adapter for the conversation thread
    mConversationArrayAdapter = new ArrayAdapter<String>(this, R.layout.message);
    mConversationView = (ListView) findViewById(R.id.in);
    mConversationView.setAdapter(mConversationArrayAdapter);

来自layout.message文件

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#A4C639"
android:textSize="18sp"

/&GT;

来自layout.main文件

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:stretchColumns="1,2">

<TableRow>
    <TextView
        android:layout_column="1"
        android:text="RPM"
        android:padding="3dip" 
        android:textSize="18sp"
        />
    <TextView
         android:layout_column="1"
        android:text="Gear"
        android:gravity="left"
        android:padding="3dip"
        android:textSize="24sp"
         />
          <TextView
        android:layout_column="1"
        android:text="Temp"
        android:gravity="right"
        android:padding="3dip" 
        android:textSize="18sp"
        />
</TableRow>
   <TableRow>

     <ListView android:id="@+id/in"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="left"
    android:layout_weight="1"
/>
    <TextView
        android:layout_column="1"
        android:text=""
        android:gravity="right"
        android:padding="3dip" 
        android:textSize="18sp"
        />
           <ListView android:id="@+id/in"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="right"
    android:layout_weight="1"
/>

<TableRow>

    <TextView
         android:layout_column="1"
        android:text="MPH"
        android:padding="3dip" 
        android:textSize="18sp"
        />
          <ListView android:id="@+id/in"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="left"
    android:layout_weight="1"
/>
    <TextView
        android:layout_column="1"
        android:text="Battery Voltage"
        android:gravity="right"
        android:padding="3dip" 
        android:textSize="18sp"
        />

           

    android:layout_weight="1"
/>
    <TextView
        android:layout_column="1"
        android:text=""
        android:gravity="right"
         android:padding="3dip" 
        android:textSize="18sp"
        />
         <ListView android:id="@+id/in"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:gravity="left"
    android:layout_weight="1"
/>
         </TableRow>

                                                                                  

<!--   
<ListView android:id="@+id/in"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:stackFromBottom="false"
    android:transcriptMode="disabled"
    android:layout_weight="1"
/>

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    >
    <EditText android:id="@+id/edit_text_out"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:layout_gravity="bottom"
    />
    <Button android:id="@+id/button_send"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/send"
    />
</LinearLayout>
-->

1 个答案:

答案 0 :(得分:1)

尝试从ListView tutorial开始。由于您将复杂视图用作行,因此最终需要覆盖getView上的ArrayAdapter方法以使行布局膨胀并适当地设置其视图。