如何修复Listview项目末尾的按钮是否已完成?

时间:2014-03-07 11:29:47

标签: android listview android-listview

<ListView
    android:id="@+id/listContact"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:headerDividersEnabled="true"
    android:footerDividersEnabled="true"
    android:dividerHeight="10dp" 
    android:background="@drawable/background"
    android:divider="@drawable/background"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:fastScrollEnabled="true"
    android:scrollingCache="true"
    >
</ListView>

<Button
        android:id="@+id/btnContactPostYourEnquiry"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="POST YOUR ENQUIRY"
        android:background="@drawable/contact_post" 
        android:textColor="@color/White"
        android:layout_margin="10dp"
        android:layout_below="@+id/listContact"/>

我尝试在listview的末尾显示PastEnqury按钮而不是屏幕的结尾但是输出只有listview是显示按钮不显示如果列表项更多,列表视图必须滚动 我在相对布局

中编写此代码

4 个答案:

答案 0 :(得分:0)

只需使用Button作为ListView页脚。这样,它将成为ListView的一部分,您可以向下滚动到它。

答案 1 :(得分:0)

将它置于相对布局中,例如在android:layout_above="@+id/linear"下面的代码中给出,这将使listview高于其他布局,只需用ListView替换ExpandableListView

 <RelativeLayout
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:background="#000000"
       android:orientation="horizontal" >
  <ExpandableListView
        android:id="@+id/lvExp"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:cacheColorHint="#00000000"
        android:layout_above="@+id/linear"
        android:groupIndicator="@null" />

    <LinearLayout
        android:id="@+id/linear"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:weightSum="1"
        android:layout_marginLeft="30dp"
        android:layout_marginRight="30dp"
        android:orientation="horizontal" >
</LinearLayout>
    </RelativeLayout>

答案 2 :(得分:0)

以编程方式设置列表视图的高度

例如。

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(                 LayoutParams.MATCH_PARENT,your_array.size()* 120);

在线性布局中的xml添加按钮下面列表视图

答案 3 :(得分:0)

我通过添加列表页脚视图

来解决问题

layout_contact_list.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="fill_vertical" 
android:layout_marginBottom="@dimen/action_button" >

<ListView
    android:id="@+id/listContact"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/background"
    android:divider="@drawable/background"
    android:dividerHeight="10dp"
    android:fastScrollEnabled="true"
    android:footerDividersEnabled="true"
    android:headerDividersEnabled="true"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:scrollingCache="true" >

</ListView>

contact_footer_view.xml

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>

<Button
        android:id="@+id/btnContactPostYourEnquiry"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="POST YOUR ENQUIRY"
        android:background="@drawable/contact_post" 
        android:textColor="@color/White"
        android:layout_margin="10dp"
        android:padding="10dp"
        android:layout_gravity="center_horizontal"
        />

mainActivity.java

    ListView list_Contact=(ListView)findViewById(R.id.listContact);

    FrameLayout footerLayout = (FrameLayout) getLayoutInflater().inflate(R.layout.contact_footer_view,null);
    Button btnPostYourEnquiry = (Button) footerLayout.findViewById(R.id.btnContactPostYourEnquiry);
    list_Contact.addFooterView(footerLayout);