Android 底部/顶部带有按钮的多字段listview布局

Android 底部/顶部带有按钮的多字段listview布局,android,listview,Android,Listview,我正在尝试掌握布局,目前我正在尝试设置一个布局,该布局每行包含多个数据字段,并始终在顶部或底部显示一个按钮,如下所示: listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data)); 例如,5行: Button field A Field B Field C field A Field B Field C field A Field B Field C f

我正在尝试掌握布局,目前我正在尝试设置一个布局,该布局每行包含多个数据字段,并始终在顶部或底部显示一个按钮,如下所示:

listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data));
例如,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));
listView.setAdapter(新的ArrayAdapter(这个,android.R.layout.simple_list_item_1,数据));

多谢大家的建议,从我所知道的,第二块XML应该代表listview中的一行。对吗?如果是:

-首先,它需要有3个文本视图:字段A、字段B和字段C。而不是“底部和顶部”

-一个简单的ArrayAdapter不会知道您想要在哪些行中显示哪些字符串,它会获取一个字符串列表,并在每行显示一个字符串

-创建ArrayAdapter时,您没有引用您定义的布局(当前有bottomtext和toptext的布局)——您告诉它使用简单的列表项1,这是Android框架使用的一种非常基本的“每行一个文本字段”布局


要实现这一点,您需要编写自己的适配器,它知道如何将传入数据放置在自定义视图中的3个不同字段中。Android开发者网站是一个很好的起点。祝你好运

据我所知,第二块XML应该表示listview中的一行。对吗?如果是:

-首先,它需要有3个文本视图:字段A、字段B和字段C。而不是“底部和顶部”

-一个简单的ArrayAdapter不会知道您想要在哪些行中显示哪些字符串,它会获取一个字符串列表,并在每行显示一个字符串

-创建ArrayAdapter时,您没有引用您定义的布局(当前有bottomtext和toptext的布局)——您告诉它使用简单的列表项1,这是Android框架使用的一种非常基本的“每行一个文本字段”布局


要实现这一点,您需要编写自己的适配器,它知道如何将传入数据放置在自定义视图中的3个不同字段中。Android开发者网站是一个很好的起点。祝你好运

感谢您的后续工作,您提到了表示行的布局概念,这有助于我搜索找到本文:。这为我的后续工作扫清了所有障碍,您提到了表示行的布局概念帮助我搜索到了这篇文章:。这为我澄清了一切