如何在Android应用程序中实现pull to refresh

时间:2013-01-15 07:01:11

标签: android adt pull-to-refresh

我有一个用于获取RSS源的应用程序,我正在尝试实现pull to refresh。我参考了https://github.com/johannilsson/android-pulltorefresh。 任何人都可以帮助将其包含在eclipse中吗?我们有罐子吗?

2 个答案:

答案 0 :(得分:2)

请按照以下步骤操作:

在eclipse中文件 - > - > 其他(不要使用文件 - > new- > Android应用程序项目)并从现有代码中选择“Android项目”

单击“下一步”,然后浏览到包含pulltorefresh库的目录 - 如果要将文件复制到工作区,请选中“项目”列表框下的复选框。然后单击“完成”按钮。

重复你刚刚做的事情,但这一次选择了pulltorefreshexample目录。

确保这两个项目都已打开,然后在包浏览器中选择pulltorefreshexample,右键单击它并选择属性。在出现的窗口中选择左侧的Android,然后在最底部有一个“图书馆”部分。单击“添加”,您将看到包含所有打开的库项目的列表。选择pulltorefresh。

清理并构建库,然后清理并构建示例。

答案 1 :(得分:0)

您可以参考this视频和this页面(带代码)来实现它,因为在Android中没有直接控制它

一些片段: 在xml中:

<!--
  The PullToRefresh-ListView replaces a standard ListView widget,
  and has all the features android.widget.ListView has.
-->
<eu.erikw.PullToRefreshListView
    android:id="@+id/pull_to_refresh_listview"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent" />

活动:

// Set a listener to be invoked when the list should be refreshed.
PullToRefreshListView pullToRefreshView = (PullToRefreshListView) findViewById(R.id.pull_to_refresh_listview);
pullToRefreshView.setOnRefreshListener(new OnRefreshListener<ListView>() {
    @Override
    public void onRefresh(PullToRefreshBase<ListView> refreshView) {
        // Do work to refresh the list here.
        new GetDataTask().execute();
    }
});

private class GetDataTask extends AsyncTask<Void, Void, String[]> {
    ...
    @Override
    protected void onPostExecute(String[] result) {
        // Call onRefreshComplete when the list has been refreshed.
        pullToRefreshView.onRefreshComplete();
        super.onPostExecute(result);
    }
}