XListView 下拉重新整理 上拉記載 (此方法只能在Android Studio中使用!)
阿新 • • 發佈:2019-02-15
用到的只有不過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(); } }
需要新增(依賴)