使用github上的android开源项目Android-PullToRefresh

      众所周知,github上拥有很多优秀的Android项目,作为一个Android的开发者,不学习github的优秀项目是不行的,这篇文章将较详细地讲述怎么使用github上的项目运用到自己的项目上。

      第一步下载开源项目Android-PullToRefresh https://github.com/chrisbanes/Android-PullToRefresh ,如下图,可以通过clone,更简单是直接下载zip,解压出来。

         第二步,详细讲下怎么用:

        1.打开eclipse,File-Import-Existing Android Code Into Workspace,把Library、PullToRefreshListFragment、PullToRefreshViewPager、sample(原来自带的参考实例,可以参考)导入到eclipse中,打开此library,右键library,properties-Android-Library-勾选Is Library,在PullToRefreshListFragment、PullToRefreshViewPager两个项目上还要把Library添加为依赖库(因为工作空间的改变),sample上要把Library、PullToRefreshListFragment、PullToRefreshViewPager添加为依赖库,此时应该可以运行sample的项目到虚拟机上或手机上。

   注意:导入项目时候一定要勾选导入到现有的工作空间上。

 

        2.接着讲一下怎么在自己的项目引用:

        2.1 . 按照常规兴建自己的程序后,右键主程序,properties-Android-Library-Add,把Library、PullToRefreshListFragment、PullToRefreshViewPager添加为依赖库.

        2.2 . 在程序activity_main.xml添加引用项目的一个类。

    <com.handmark.pulltorefresh.library.PullToRefreshListView
        android:id="@+id/mylv"
        android:layout_height="fill_parent"
        android:layout_width="fill_parent">
        
    </com.handmark.pulltorefresh.library.PullToRefreshListView>

        2.3. 然后回到MainActivity中,把 PullToRefreshListView 当做ListVeiw来使用(详见ListVeiw的使用),记得要通过组织导入把

com.handmark.pulltorefresh.library.PullToRefreshListView导入进来,参考代码如下:
    private PullToRefreshListView lv;
    private ArrayAdapter<String> adapter;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        List<String> arr =new ArrayList<String>();
        arr.add("test");
        arr.add("test1");
        lv = (PullToRefreshListView) findViewById(R.id.mylv);
        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arr);
        lv.setAdapter(adapter);
        lv.setOnRefreshListener(new OnRefreshListener<ListView>() {

            @Override
            public void onRefresh(PullToRefreshBase<ListView> refreshView) {
                // TODO Auto-generated method stub
                new AsyncTask<Void, Void, Void>() {

                    @Override
                    protected Void doInBackground(Void... params) {
                        // TODO Auto-generated method stub
                        try {
                            Thread.sleep(2800);
                        } catch (InterruptedException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
                        }
                        return null;
                    }
                    protected void onPostExecute(Void result) {
                        adapter.addAll("test","成功");
                        lv.onRefreshComplete();
                    };
                }.execute();
                
            }
        });

   2.4. 项目到这里就结束了,可能需要调试一下,如果遇到什么问题可以留言交流一下。

转载于:https://www.cnblogs.com/ghkai/p/4961486.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值