我正在努力掌握布局,目前我正在尝试设置一个布局,每行包含多个数据字段,并始终在顶部或底部显示一个按钮,如下所示:
示例,5行:
Button
field A Field B Field C
field A Field B Field C
field A Field B Field C
field A Field B Field C
field A Field B Field C
这是我到目前为止,我可以在底部显示按钮,但我无法添加多个字段。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<Button android:layout_width="fill_parent"
android:layout_height="wrap_content" android:id="@+id/ButtonCreate"
android:text="Create Game" android:layout_alignParentBottom="true" />
<ListView android:layout_width="fill_parent"
android:layout_height="fill_parent" android:id="@+id/list"
android:layout_alignParentTop="true" android:layout_above="@id/ButtonCreate" />
<ProgressBar style="?android:attr/progressBarStyleLarge" android:layout_width="wrap_content" android:id="@+id/progressBarBrowser" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true"></ProgressBar>
</RelativeLayout>
我尝试将上面显示的文本字段添加到上面的代码中,但没有成功:
<LinearLayout
android:orientation="vertical"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="fill_parent">
<TextView
android:id="@+id/toptext"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:gravity="center_vertical"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:id="@+id/bottomtext"
android:singleLine="true"
android:ellipsize="marquee"
/>
</LinearLayout>
我在我的活动中这样称呼它:
listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data));
感谢您的任何想法
答案 0 :(得分:1)
据我所知,第二块XML应该代表listview中的一行。那是对的吗?如果是这样的话:
- 首先,它需要有3个文本视图:字段A,字段B和字段C.不是“底部和顶部”。
- 一个简单的ArrayAdapter不会知道你想要哪些字符串 - 它需要一个字符串列表,每行显示一个。
- 当您创建ArrayAdapter时,您没有引用您定义的布局(当前具有底层文本和拓扑文本的布局) - 您告诉它使用simple_list_item_1,这是一个非常基本的“每行一个文本字段”布局Android框架。
为了实现这一目标,您需要编写自己的适配器,该适配器知道如何将传入数据放在自定义视图中的3个不同字段中。在Android开发者网站上,一个好的起点是Hello ListView。祝你好运!