中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

Android PullToRefresh上拉和下拉刷新

2018-07-20    來源:open-open

容器云強(qiáng)勢上線!快速搭建集群,上萬Linux鏡像隨意使用

Github鏈接:

https://github.com/chrisbanes/Android-PullToRefresh

GUIDE:

https://github.com/chrisbanes/Android-PullToRefresh/wiki/Quick-Start-Guide

1. 設(shè)置Listview 
layout文件中定義PullToRefreshListView 

Xml代碼

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

2. 設(shè)置Mode 
PullToRefreshListView mListView = (PullToRefreshListView) findViewById(R.id.list_view);  
mListView.setMode(Mode.BOTH);  

可支持的Mode如下:
  • Mode.BOTH:同時(shí)支持上拉下拉
  • Mode.PULL_FROM_START:只支持下拉Pulling Down
  • Mode.PULL_FROM_END:只支持上拉Pulling Up
3. 實(shí)現(xiàn)監(jiān)聽Listener
如果Mode設(shè)置成Mode.BOTH,需要設(shè)置監(jiān)聽OnRefreshListener2,并實(shí)現(xiàn)onPullDownToRefresh()、onPullUpToRefresh()兩個(gè)方法。 

如果Mode設(shè)置成Mode.PULL_FROM_START或Mode.PULL_FROM_END,需要設(shè)置監(jiān)聽OnRefreshListener,同時(shí)實(shí)現(xiàn)onRefresh()方法。當(dāng)然也可以設(shè)置為OnRefreshListener2,但是Mode.PULL_FROM_START的時(shí)候只調(diào)用onPullDownToRefresh()方法,Mode.PULL_FROM的時(shí)候只調(diào)用onPullUpToRefresh()方法。

4. 具體代碼如下:
public class MainActivity extends Activity {  
      
    private ArrayList<String> mListItems;  
    private PullToRefreshListView mListView;  
    private SampleListAdapter mAdapter;  
      
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.sample);  
          
        // 設(shè)置初期數(shù)據(jù)  
        mListItems = new ArrayList<String>();  
        for (int i = 1; i <= 10; i++) {  
            mListItems.add("Item " + Integer.toString(i));  
        }  
  
        // 設(shè)置ListView  
        mListView = (PullToRefreshListView) findViewById(R.id.list_view);  
        mAdapter = new SampleListAdapter();  
        mListView.setAdapter(mAdapter);  
          
        // 設(shè)置PullToRefresh  
        mListView.setMode(Mode.BOTH);  
        mListView.setOnRefreshListener(new OnRefreshListener2<ListView>(){  
   
            // 下拉Pulling Down  
            @Override  
            public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {  
                // 下拉的時(shí)候數(shù)據(jù)重置  
                mListItems = new ArrayList<String>();  
                for (int i = 1; i <= 10; i++) {  
                    mListItems.add("Item " + Integer.toString(i));  
                }  
                mAdapter.notifyDataSetChanged();  
                  
                new FinishRefresh().execute();  
            }  
              
            // 上拉Pulling Up  
            @Override  
            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {  
                // 上拉的時(shí)候添加選項(xiàng)  
                int count = mListItems.size();  
                mListItems.add("Item " + Integer.toString(++count));  
                mAdapter.notifyDataSetChanged();  
                  
                new FinishRefresh().execute();  
            }  
   
        });  
          
    }  
      
    private class SampleListAdapter extends BaseAdapter {  
           
        @Override  
        public int getCount() {  
            return mListItems.size();  
        }  
   
        @Override  
        public Object getItem(int index) {  
            return mListItems.get(index);  
        }  
   
        @Override  
        public long getItemId(int index) {  
            return index;  
        }  
   
        @Override  
        public View getView(int index, View view, ViewGroup arg2) {  
            if(view == null){  
                LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);  
                view = inflater.inflate(R.layout.list_item, null);  
            }  
            TextView textView = (TextView)view.findViewById(R.id.listItemText);  
            textView.setText(mListItems.get(index));  
            return view;  
        }  
    }  
   
    private class FinishRefresh extends AsyncTask<Void, Void, Void>{  
        @Override  
        protected Void doInBackground(Void... params) {  
            return null;  
        }  
   
        @Override  
        protected void onPostExecute(Void result){  
            mListView.onRefreshComplete();  
        }  
    }  
}

標(biāo)簽: 代碼

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:用HtppClient下載一個(gè)網(wǎng)頁的完整代碼

下一篇: AnimationSet類:動畫集合類