Android 如何使用listview填充表格布局
我有蓝牙聊天示例中的以下代码。我所要做的就是通过蓝牙接收数据,并将其作为字符串显示在表格布局中的正确位置。多亏了BT示例,我完成了大部分工作,但更改主文件中的布局并不奏效。我是采取了正确的方法,还是需要制作一个全新的适配器来处理数据和布局需求?按照我对代码的理解,数据被放入一个R.layout.message格式的数组中,然后R.id.in告诉程序如何显示信息。对于要在中显示阵列数据的每个单元格,是否需要单独的字段ID?我很感激你能给我的任何帮助Android 如何使用listview填充表格布局,android,arrays,listview,tablelayout,Android,Arrays,Listview,Tablelayout,我有蓝牙聊天示例中的以下代码。我所要做的就是通过蓝牙接收数据,并将其作为字符串显示在表格布局中的正确位置。多亏了BT示例,我完成了大部分工作,但更改主文件中的布局并不奏效。我是采取了正确的方法,还是需要制作一个全新的适配器来处理数据和布局需求?按照我对代码的理解,数据被放入一个R.layout.message格式的数组中,然后R.id.in告诉程序如何显示信息。对于要在中显示阵列数据的每个单元格,是否需要单独的字段ID?我很感激你能给我的任何帮助 // Initialize the array
// 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);
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>
-->
//初始化会话线程的数组适配器
mConversationArrayAdapter=新的ArrayAdapter(这个,R.layout.message);
mConversationView=(ListView)findViewById(R.id.in);
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"
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>
-->
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>
-->
从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"
/>
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>
-->
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>
-->
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>
android:layout\u weight=“1”
/>
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>
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>
-->
尝试从开始。由于您将复杂视图用作行,因此最终需要覆盖
ArrayAdapter
上的getView
方法,以扩大行布局并适当设置其视图。尝试从开始。由于您将复杂的视图用作行,因此最终需要覆盖ArrayAdapter
上的getView
方法,以扩大行布局并适当设置其视图。我看过教程,但我无法真正理解您在说什么。是否可以使用数据数组,数组中的每个对象都由textview表示?我不希望UI中的每个项目都有一个列表,只是为了一次在正确的位置显示数组中的一个对象。是的,ListView(或任何AdapterView)将从您的数据结构中为每行读取一个项目。我看了教程,但我无法真正理解您在说什么。是否可以使用数据数组,数组中的每个对象都由textview表示?我不希望UI中的每个项目都有一个列表,只是为了在数组中的正确位置一次显示一个对象。是的,ListView(或任何AdapterView)将从数据结构中为每行读取一个项目。
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>
-->