【问题标题】:How to implement pull to refresh on a ListFragment如何在 ListFragment 上实现拉取刷新
【发布时间】:2011-12-27 18:38:10
【问题描述】:

我正在尝试在 ListFragment 上实现“拉动刷新”,但现在库中似乎没有一个支持它。无法检测到我可以看到的列表片段上的过度滚动,所以我想知道是否有人找到了使其正常工作的方法?

--

根据 Christian 的提示,我在 onCreateView() 方法中使用了以下内容。

@Override
public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
   PullToRefreshListView listView = new PullToRefreshListView(getActivity());
   mAdapter = new HomeTweetListAdapter(getActivity(), R.layout.tweet_list_item, tweets);
   listView.setAdapter(mAdapter);
   return listView;
}

就像 Christian 说的,你只能用 Fragment 来做到这一点。返回 ListFragment 上的 ListView 以外的任何内容都会出错。

编辑: 为了澄清我正在使用Johan's PullToRefresh library

【问题讨论】:

    标签: java android android-fragments pull-to-refresh


    【解决方案1】:

    我实际上使用片段(不是ListFragment)使它工作。所以基本上是一样的,只要从你的onCreateView 方法返回PullToRefreshListView 就可以了。它也应该适用于ListFragment;请记住,如果您使用ListFragment,则必须从onCreateView 返回ListView(如果您只使用Fragment,则可以返回任何您想要的内容)。

    【讨论】:

    • 那他可以用我的方法吗?
    • 是的。当然......我添加了另一个答案只是因为您没有考虑到他正在使用 Fragments,所以那里的情况发生了一些变化。此外,他似乎知道有第三方库可以做到这一点......所以他可能已经知道你建议的那个。
    • 我知道你打算用这个去哪里。我已经尝试过了,但 Eclipse 不喜欢将列表适配器设置为普通的旧片段。有什么补救办法吗?
    • 没关系,想通了。在创建 PullToRefreshListView 时设置适配器。谢谢!
    【解决方案2】:

    这是 Johan 创建的一个组件,它添加了下拉刷新功能..

    Pull-To-Refresh

    主要逻辑在扩展 ListView 的 PullToRefreshListView 中实现。

    n 你的布局你只需像这样添加它。

    <com.markupartist.android.widget.PullToRefreshListView
    android:id="@+id/android:list"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent"
    />
    

    【讨论】:

    • 据我了解,Johan 的代码目前不支持 listFragment 的实现。见here
    【解决方案3】:

    现在已经完整记录了如何将ActionBar-PullToRefreshListFragment 一起使用:

    https://github.com/chrisbanes/ActionBar-PullToRefresh/wiki/ListFragment

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 2018-05-14
      • 1970-01-01
      • 1970-01-01
      • 2014-01-29
      • 1970-01-01
      • 1970-01-01
      • 2021-02-01
      • 2011-09-17
      • 1970-01-01
      相关资源
      最近更新 更多