Android_PullToRefresh上拉加载,下拉刷新

布局:
<com.handmark.pulltorefresh.library.PullToRefreshListView
    android:id="@+id/pulltorefreshlistview"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"></com.handmark.pulltorefresh.library.PullToRefreshListView>
 
代码:
public class MainActivity extends AppCompatActivity {
    //初始数据
    private String[] mStrings = {"Abbaye de Belloc", "Abbaye du Mont des Cats", "Abertam", "Abondance", "Ackawi"};
    private PullToRefreshListView pulltorefreshlistview;
    private LinkedList<String> list;
    private ArrayAdapter<String> arrayAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //获取id
        pulltorefreshlistview = (PullToRefreshListView) findViewById(R.id.pulltorefreshlistview);
        //默认可以下拉, 设置BOTH后也可以上拉
        pulltorefreshlistview.setMode(PullToRefreshBase.Mode.BOTH);
        //不能直接添加头布局,需要转一下
        ListView listview = pulltorefreshlistview.getRefreshableView();
        //添加头布局
        listview.addHeaderView();
//创建集合
        list = new LinkedList<>();
        //往集合中添加数据
        list.addAll(Arrays.asList(mStrings));
        //创建适配器
        arrayAdapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,list);
        //添加适配器
        pulltorefreshlistview.setAdapter(arrayAdapter); 
       //设置监听,PullToRefreshBase.OnRefreshListener2 
       pulltorefreshlistview.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override            
          public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {  
              new MAsyncTask().execute();           
             }           
             @Override       
            public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {  
              new MAsyncTask2().execute();         
            } 
            });    
}   
            //上拉刷新    class MAsyncTask extends AsyncTask<String,Void,String>{     
            @Override        protected String doInBackground(String... strings) {  
               try {                
                   Thread.sleep(1000);            } 
              catch (InterruptedException e) {          
                 e.printStackTrace();            }     
                      return null;        }        
                @Override        
              protected void onPostExecute(String s) {           
                  super.onPostExecute(s);           
                   //添加一条数据           
                   list.addFirst("refresh item haha ...");     
                   //刷新适配器          
                  arrayAdapter.notifyDataSetChanged();         
                  //让刷新UI隐藏
                 pulltorefreshlistview.onRefreshComplete();        }    }    

           //下拉加载   
           class MAsyncTask2 extends AsyncTask<String,Void,String>{       
           @Override    
           protected String doInBackground(String... strings) {          
              try {                Thread.sleep(1000);            } 
             catch (InterruptedException e) {              
              e.printStackTrace();            }    
                  return null;        } 
   
                 @Override      
                 protected void onPostExecute(String s) {   
                   super.onPostExecute(s);           
                   list.addLast("loadMore Item haha1 ....");   
                   list.addLast("loadMore Item haha2 ....");   
                   list.addLast("loadMore Item haha3 ....");        
                   arrayAdapter.notifyDataSetChanged();      
                   pulltorefreshlistview.onRefreshComplete();        }   
 }}
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值