4

你好我有以下布局

<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipe_container"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
>

        <ListView
    android:id="@+id/list"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:divider="@color/list_divider"
    android:dividerHeight="1dp"
    android:listSelector="@drawable/list_row_selector"
    android:layout_below="@+id/coupons_header" />

<TextView
    android:id="@+id/header"
    android:layout_width="fill_parent"
    android:layout_height="40dp"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:gravity="center"
    android:orientation="vertical"
    android:text="Header" />

</RelativeLayout>

</android.support.v4.widget.SwipeRefreshLayout>

问题是当我向上滚动然后向下滚动时,listview 的行为真的很奇怪查看以下屏幕http://sger.org/image/3D0Y1b0G1m3L

如何在 SwipeRefreshLayout 中更正附加相对布局

谢谢

4

1 回答 1

4

尝试添加 android:clickable="true" 到 RelativeLayout 而在哪里android:layout_below="@+id/coupons_header"。您的coupons_header丢失。你也可以改变你的布局,比如

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

<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_container"
android:layout_width="match_parent"
android:layout_height="0dp" 
android:weight = "1">


    <ListView
    android:id="@+id/list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:divider="@color/list_divider"
    android:dividerHeight="1dp"
    android:listSelector="@drawable/list_row_selector" />


</android.support.v4.widget.SwipeRefreshLayout>

<TextView
    android:id="@+id/header"
    android:layout_width="fill_parent"
    android:layout_height="40dp"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:gravity="center"
    android:orientation="vertical"
    android:text="Header" />

</LinearLayout>

它可以轻松工作,并且在更改 ListView 内容时,您还可以更改SwipeRefresh Listener上的 TextView 文本。

于 2016-06-17T06:00:07.063 回答