美文网首页项目
Android下拉/上拉刷新ListView之Android-P

Android下拉/上拉刷新ListView之Android-P

作者: kingZXY2009 | 来源:发表于2017-02-27 18:56 被阅读427次

    Android下拉/上拉刷新ListView之Android-PullToRefresh

    Android下拉和上拉刷新ListView列表内容的的一个优秀开源框架,在github上的项目链接地址:https://github.com/chrisbanes/Android-PullToRefresh

    该PullToRefresh第三方控件功能强大,使用方便。

    具体使用方法:

    (1)首先到github上把该项目下载解压,导入到Eclipse的工程中。

    (2)将Android-PullToRefresh作为一个lib引用到自己的项目中。

    然后直接使用即可。

    现在给出一个Demo。

    import java.util.LinkedList;

    import com.handmark.pulltorefresh.library.PullToRefreshBase;

    import com.handmark.pulltorefresh.library.PullToRefreshBase.Mode;

    import com.handmark.pulltorefresh.library.PullToRefreshBase.OnLastItemVisibleListener;

    import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener2;

    import com.handmark.pulltorefresh.library.PullToRefreshListView;

    import android.support.v7.app.ActionBarActivity;

    import android.widget.ArrayAdapter;

    import android.widget.ListView;

    import android.widget.Toast;

    import android.os.Bundle;

    import android.os.Handler;

    public class MainActivity extends ActionBarActivity {

    private PullToRefreshListView mPullRefreshListView;

    private LinkedList mListItems;

    private ArrayAdapter mAdapter;

    // 数据

    private int DATA = 0;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    mPullRefreshListView = (PullToRefreshListView) findViewById(R.id.pull_refresh_list);

    // Mode.BOTH:支持下拉和上拉刷新。

    mPullRefreshListView.setMode(Mode.BOTH);

    mPullRefreshListView

    .setOnRefreshListener(new OnRefreshListener2() {

    // 下拉

    @Override

    public void onPullDownToRefresh(

    PullToRefreshBase refreshView) {

    Toast.makeText(getApplicationContext(), "下拉刷新",

    Toast.LENGTH_SHORT).show();

    addItem();

    }

    // 上拉

    @Override

    public void onPullUpToRefresh(

    PullToRefreshBase refreshView) {

    Toast.makeText(getApplicationContext(), "上拉刷新",

    Toast.LENGTH_SHORT).show();

    addItem();

    }

    });

    // 列表到底,即看到最后一个元素。

    mPullRefreshListView

    .setOnLastItemVisibleListener(new OnLastItemVisibleListener() {

    @Override

    public void onLastItemVisible() {

    Toast.makeText(getApplication(), "已经到底!",

    Toast.LENGTH_SHORT).show();

    }

    });

    ListView actualListView = mPullRefreshListView.getRefreshableView();

    mListItems = new LinkedList();

    mAdapter = new ArrayAdapter(this,

    android.R.layout.simple_list_item_1, mListItems);

    actualListView.setAdapter(mAdapter);

    }

    // 添加数据

    private void addItem() {

    new Handler().postDelayed(new Runnable() {

    @Override

    public void run() {

    mListItems.add((DATA++) + "");

    mAdapter.notifyDataSetChanged();

    mPullRefreshListView.onRefreshComplete();

    }

    }, 1000);

    }

    }

    需要的activity_main.xml

    android:layout_width="match_parent"

    android:layout_height="match_parent" >

    android:id="@+id/pull_refresh_list"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:divider="@android:color/black"

    android:dividerHeight="1dip"

    android:fastScrollEnabled="false"

    android:footerDividersEnabled="false"

    android:headerDividersEnabled="false"

    android:smoothScrollbar="true" />

    技术QQ群364595326

    相关文章

      网友评论

        本文标题:Android下拉/上拉刷新ListView之Android-P

        本文链接:https://www.haomeiwen.com/subject/rcxtgttx.html