Java 在android中,如何在具有匹配父项作为宽度和高度的listview下方设置按钮

Java 在android中,如何在具有匹配父项作为宽度和高度的listview下方设置按钮,java,android,listview,android-listview,Java,Android,Listview,Android Listview,我正在处理一个具有自定义listview的项目。由于baseadapter的getView()方法一直被调用为listview中行数的三倍,有人建议我将listview的宽度和高度更改为match\u parent。但现在的问题是listview下面有一个按钮,现在不可见。如何使其可见 我所指的职位是: 我的xml文件: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://sc

我正在处理一个具有自定义listview的项目。由于baseadapter的
getView()
方法一直被调用为listview中行数的三倍,有人建议我将listview的宽度和高度更改为
match\u parent
。但现在的问题是listview下面有一个按钮,现在不可见。如何使其可见

我所指的职位是:

我的xml文件:

<?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"
     >

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:text="LIST OF TASKS" />

<ListView
    android:id="@+id/list_tasks_final"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_marginTop="50px"
     >

</ListView>
<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/list_tasks_final"
    android:layout_centerHorizontal="true"
    android:text="SUBMIT JOB"
    android:id="@+id/btnjobsubmit"
     />

</RelativeLayout>

问题是按钮现在不可见。如何使其可见?

请参阅我的代码 例如,您应该将列表视图包装到另一个视图
LinearLayout
,并设置该布局的高度

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="LIST OF TASKS" />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="300dp">

        <ListView
            android:id="@+id/list_tasks_final"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="50px"
            >
        </ListView>
    </LinearLayout>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:text="SUBMIT JOB"
        android:id="@+id/btnjobsubmit"
        />

</LinearLayout>

您应该使用
线性布局,而不是使用
RelativeLayout
。它提供了更大的灵活性,可以根据我们的需要放置不同的视图

<?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:orientation="vertical">

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_gravity="center_horizontal"
    android:text="LIST OF TASKS" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <ListView
            android:id="@+id/list_tasks_final"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="10dp"/>

    </LinearLayout> 

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:text="SUBMIT JOB"
    android:id="@+id/btnjobsubmit" />

</LinearLayout>

这里的问题是,您的列表使用了屏幕的所有空间(布局高度=匹配父级,布局宽度=匹配父级),并且按钮具有下面的属性布局,然后它显示在整个屏幕下面

要解决此问题,只需删除下面的属性布局_:

android:layout_below="@+id/list_tasks_final"

你能再简短一点吗?你的预期结果和当前结果是什么?如果您以图表方式发布此结果,我们将很容易帮助您。@YuvaRaj。我希望在listview下面有一个按钮。但是由于listview有匹配的父项,它填满了整个屏幕,按钮不可见。我希望按钮可见。listview的结束标记应该在LinearLayBurst之前,但我仍然在图形布局中看不到按钮。请参阅我的新编辑!我刚刚为线性布局添加了方向,并降低了列表视图的父视图的高度,现在我可以看到按钮了@AchuthanM单击“全部预览”
,您可以在大屏幕上看到该按钮。在emulator中运行它并检查它是否工作。@Achuthan您还有问题吗?我希望listview在宽度和高度上具有匹配的父级。因此,它显然具有fill parent属性。那么,如果listview占据整个屏幕,按钮将如何显示。?