【问题标题】:Android ListView and Swipe RefreshAndroid ListView 和滑动刷新
【发布时间】:2016-05-31 10:04:28
【问题描述】:

我有一个 ListView 和一个 SwipeRefreshLayout。一切正常,我可以向上/向下滚动,在列表顶部刷新也可以。 但是,如果我从列表视图中选择一个项目,我的应用程序会显示另一个片段。之后我想回到列表视图而不滚动到顶部。 我通过保存/恢复 listview 状态解决了这个问题,但是如果我在返回 listview 后不等待 1-2 秒并且我想向上滚动显示滑动刷新但不向上滚动。 如果我在向上滚动之前稍等片刻,一切都很好。 在 Android 4.4.2 上没问题。在 Android 5.0.2 和 6.0.0 上存在问题。

【问题讨论】:

  • 使用您的列表视图片段从片段管理器后台弹出。并正确处理片段中的列表视图数据。

标签: java android listview


【解决方案1】:

将此 xml 代码用于具有滑动刷新的 ListView

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

    <ListView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/listView">
    </ListView>
</android.support.v4.widget.SwipeRefreshLayout>

【讨论】:

  • 我已经用过这个布局了。我有一个带有 swiperefresh 的工作列表视图,但我想解决如果我选择一个项目并返回到列表视图不要滚动到顶部,并且 swiperefresh 也是 wrokign :)
【解决方案2】:

你的描述不够。我认为是你的listview和swipelayout在从fragment返回时被重置,例如setAdapter。

【讨论】:

  • 当我返回listview时应用程序会自动刷新listview的内容,我没有手动重置这些对象,可能会自动重置?
  • 也许吧。我不知道您的列表视图在哪里,活动或片段?
  • 我使用 ListFragment
  • ListFragment 将调用 onCreateView
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多