我想要做的是允许用户滑动并刷新列表,无论数据是否存在。但仅当ListView中有数据时,ListView应该可见;当没有数据时,Empty TextView 应该可见。在这两种情况下,用户都必须能够通过滑动来刷新列表。
我尝试了一些提供的解决方案,如此讨论中所述,但它们都没有起作用。两个 SwipeToRefresh 的想法可以像这里所示那样很好地工作,但即使从服务器获取数据,它也显示空容器。
我尝试过自己的逻辑,将 ListView 和 Textview 包装在 Relative / FrameLayout 中,但 SwipeToRefresh 根据其行为只接受一个视图。
下面是我尝试的 XML 片段:
我尝试了一些提供的解决方案,如此讨论中所述,但它们都没有起作用。两个 SwipeToRefresh 的想法可以像这里所示那样很好地工作,但即使从服务器获取数据,它也显示空容器。
我尝试过自己的逻辑,将 ListView 和 Textview 包装在 Relative / FrameLayout 中,但 SwipeToRefresh 根据其行为只接受一个视图。
下面是我尝试的 XML 片段:
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/activity_main_swipe_refresh_layout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.945" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView
android:id="@+id/event_list_eventlist"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@color/event_background"
android:dividerHeight="1dp" >
</ListView>
<TextView
android:id="@+id/event_txt_nothing_found"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerInParent="true"
android:layout_centerVertical="true"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="@android:color/darker_gray"
android:visibility="gone" />
</RelativeLayout>
</android.support.v4.widget.SwipeRefreshLayout>
请帮忙