使用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. 項目到這里就結束了,可能需要調試一下,如果遇到什么問題可以留言交流一下。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM