1. 程式人生 > >XListView 下拉重新整理 上拉記載 (此方法只能在Android Studio中使用!)

XListView 下拉重新整理 上拉記載 (此方法只能在Android Studio中使用!)

用到的只有不過10左右程式碼  如下 :

public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener {
    XListView xlist;
    List<Newslist> data = new ArrayList<Newslist>();
    private int aa = 1;

    @Override
protected void onCreate(Bundle savedInstanceState) {
        super
.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //XListView 控制元件 xlist = (XListView) findViewById(R.id.xlist); //呼叫解析資料的方法 Shua();
        //允許上拉載入
        xlist.setPullLoadEnable(true);
         //允許下拉重新整理
        xlist.setPullRefreshEnable(true);
         //在當前頁面的監聽
xlist.setXListViewListener(MainActivity.this);
}
//定義一個方法 裡面寫解析的程式碼    public void Shua() {    
//使用非同步 來解析   AsyncTask此方法和Hander顯示  不過是輕量級的   
   
          new AsyncTask<String, Integer, String>() {    
        
 //實現倆個方法doInBackground () 和onPostExecute()       
            @Override       
    protected String doInBackground (String...strings){      
String str = "";       
try {            
//獲取連線          
URL url = new URL("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10&page=" + aa);       
HttpURLConnection conne = (HttpURLConnection) url.openConnection();    
conne.setReadTimeout(5000);           
conne.setConnectTimeout(5000);          
int responseCode = conne.getResponseCode();       
if (responseCode == 200) {               
InputStream in = conne.getInputStream();        
byte[] by = new byte[1024];             
int len = 0;               
while ((len = in.read(by)) != -1) {       
str += new String(by, 0, len);         
}           
}       
} catch (MalformedURLException e) {   
e.printStackTrace();      
} catch (IOException e) {   
e.printStackTrace();    
}        return str;   
}           
//實現倆個方法doInBackground () 和onPostExecute()       
@Override       
protected void onPostExecute (String s){       
//使用Gson解析        Gson gson = new Gson();     
JsonRootBean j = gson.fromJson(s, JsonRootBean.class);  
data = j.getNewslist();        
//設定介面卡        
Myadpader myadpader = new Myadpader(data, MainActivity.this);  
xlist.setAdapter(myadpader);       
super.onPostExecute(s);   
}   
}.execute();
}
      }
   }
}
//==========================================重要的在這裡============================================
//實現的倆個方法   onRefresh() 和 onLoadMore()
@Override
public void onRefresh() {
        data.clear();
        //呼叫解析資料的方法
Shua();
        xlist.setRefreshTime("剛剛");
        //停止重新整理
xlist.stopRefresh();

    }

    @Override
public void onLoadMore() {

        aa++;
        //呼叫解析資料的方法
Shua();
        //停止載入
xlist.stopLoadMore();

    }
}
需要新增(依賴)