欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android實(shí)戰(zhàn)教程第四十三篇之上拉加載與下拉刷新

 更新時(shí)間:2016年11月15日 14:51:04   作者:楊道龍  
這篇文章主要為大家詳細(xì)介紹了Android實(shí)戰(zhàn)教程第四十三篇之上拉加載與下拉刷新,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

ListView的下拉刷新很常見,很多開源的框架都能做到這個效果,當(dāng)然也可以自己去實(shí)現(xiàn)。本篇案例是基于xlistview的。

布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 xmlns:tools="http://schemas.android.com/tools" 
 android:layout_width="match_parent" 
 android:layout_height="match_parent" > 
 
 <me.maxwin.view.XListView 
  android:id="@+id/xlv" 
  android:layout_width="match_parent" 
  android:layout_height="match_parent" /> 
 
</RelativeLayout> 

主活動的代碼:

package com.itydl.xlistviewdemo; 
 
import java.text.SimpleDateFormat; 
import java.util.ArrayList; 
import java.util.Date; 
import java.util.List; 
 
import me.maxwin.view.XListView; 
import me.maxwin.view.XListView.IXListViewListener; 
import android.app.Activity; 
import android.graphics.Color; 
import android.os.Bundle; 
import android.os.Handler; 
import android.os.Message; 
import android.os.SystemClock; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.BaseAdapter; 
import android.widget.TextView; 
 
public class MainActivity extends Activity { 
 
 private XListView mXListView; 
 List<String> datas = new ArrayList<String>(); 
 private MyAdapter adapter; 
 private boolean isLoadMore;//是否正在加載更多數(shù)據(jù)的標(biāo)記 
  
 private long preTime;//上一次刷新的當(dāng)前系統(tǒng)時(shí)間毫秒值 
 private Handler handler = new Handler(){ 
  public void handleMessage(android.os.Message msg) { 
   if(isLoadMore){ 
    //消息是上拉加載更多 
    initDatas(); 
    isLoadMore = false; 
    //刷新完畢,關(guān)閉上拉加載效果 
    mXListView.stopLoadMore(); 
   }else{ 
    //消息是下拉刷新 
    datas.clear(); 
    initDatas(); 
    //刷新完畢,關(guān)閉下拉刷新效果 
    mXListView.stopRefresh(); 
   } 
   // 刷新listview 
   adapter.notifyDataSetChanged(); 
  }; 
 }; 
 
 @Override 
 protected void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.activity_main); 
  initDatas(); 
  mXListView = (XListView) findViewById(R.id.xlv); 
  //設(shè)置適配器到ListView 
  adapter = new MyAdapter(); 
  mXListView.setAdapter(adapter); 
  initListener(); 
 } 
  
 private void initListener() { 
  //設(shè)置可以下拉刷新,默認(rèn)就是true 
  mXListView.setPullRefreshEnable(true); 
   
  //設(shè)置可以上拉加載,默認(rèn)是false 
  mXListView.setPullLoadEnable(true); 
   
  mXListView.setXListViewListener(new IXListViewListener() { 
    
   @Override 
   public void onRefresh() { 
    // 下拉刷新,實(shí)際發(fā)送Handler 
    //發(fā)送一個空消息,延遲兩秒后告知刷新數(shù)據(jù) 
    handler.sendMessageDelayed(Message.obtain(), 2000); 
    //添加上一次刷新的時(shí)間: 
    if(preTime != 0){ 
     mXListView.setRefreshTime(refreshData(preTime)); 
    } 
    preTime = System.currentTimeMillis(); 
   } 
 
   private String refreshData(long preTime) { 
    return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date(preTime)); 
   } 
 
   @Override 
   public void onLoadMore() { 
    //標(biāo)記正在加載更多,發(fā)送Handler 
    isLoadMore = true; 
    handler.sendMessageDelayed(Message.obtain(), 2000); 
   } 
  }); 
 } 
 
 /**模擬網(wǎng)絡(luò)數(shù)據(jù)*/ 
 private void initDatas() { 
  //實(shí)際開發(fā)應(yīng)該子線程執(zhí)行 
  for (int i = 0; i < 50; i++) { 
   datas.add("我是第" + i + "條數(shù)據(jù)"); 
  } 
 } 
 
 private class MyAdapter extends BaseAdapter{ 
 
  @Override 
  public int getCount() { 
   if(datas != null){ 
    return datas.size(); 
   } 
   return 0; 
  } 
 
  @Override 
  public Object getItem(int position) { 
   if(datas != null){ 
    return datas.get(position); 
   } 
   return null; 
  } 
 
  @Override 
  public long getItemId(int position) { 
   return position; 
  } 
 
  @Override 
  public View getView(int position, View convertView, ViewGroup parent) { 
   //模擬item為TextView 
   TextView textView = new TextView(MainActivity.this); 
   textView.setText(getItem(position)+""); 
   textView.setTextColor(Color.GREEN); 
   return textView; 
  } 
 } 
} 

短短幾行代碼已經(jīng)完成了主要功能,運(yùn)行如下:

喜歡的朋友可以關(guān)注我哦,本專欄會不定期更新簡單有趣的Android小文

相關(guān)文章

最新評論