//判断是否联网 //切记加权限<uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>protected void onPostExecute(String s) { super.onPostExecute(s); ConnectivityManager cm= (ConnectivityManager) getActivity() .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo nk = cm.getActiveNetworkInfo(); String result=dao.query(); boolean s1 = preferences.getBoolean("f", false); if(nk!=null){ if(preferences.getBoolean("f",false)){ jiexi(s); dao.update("shouye",s); }else { preferences.edit().putBoolean("f",true).commit(); dao.add("shouye",s); jiexi(s); } } else { s=dao.query(); jiexi(s); }
private void jiexi(String s) { try { JSONObject json=new JSONObject(s); JSONObject result = json.getJSONObject("result"); JSONArray bookList = result.getJSONArray("bookList"); for (int i = 0; i <bookList.length() ; i++) { JSONObject b= (JSONObject) bookList.get(i); Book book= new Book(); book.name=b.getString("name"); book.area=b.getString("area"); book.coverImg=b.getString("coverImg"); books1.add(book); } if(books1!=null){ books=new ArrayList<>(); books = getItems(books1); ad= new Mylv(); xlist.setAdapter(ad); } } catch (Exception e) { e.printStackTrace(); }
//方法@Override public void onRefresh() { h.postDelayed(new Runnable() { @Override public void run() { start=0; books.clear(); books1.clear(); xlist.setPullLoadEnable(true); new Myasynctask().execute(url); ad.notifyDataSetChanged(); onload(); } }, 2000); } @Override public void onLoadMore() { h.postDelayed(new Runnable() { @Override public void run() { start+=5; books = getItems(books1); ad.notifyDataSetChanged(); onload(); } }, 2000); } private List<Book> getItems(List<Book> books1) { if(start+10>=books1.size()){ start=books1.size(); xlist.setPullLoadEnable(false); Toast.makeText(getActivity(), "已经是全部数据", Toast.LENGTH_SHORT).show(); start=0; books=books1; }else { books.clear(); for (int i = 0; i < start + 10; i++) { books.add(books1.get(i)); } } return books; } private void onload() { xlist.stopRefresh(); xlist.stopLoadMore(); SimpleDateFormat formatter = new SimpleDateFormat ("HH:mm:ss"); Date curDate = new Date(System.currentTimeMillis()); String str = formatter.format(curDate); xlist.setRefreshTime(str); };
//适配器class Mylv extends BaseAdapter{ private final int a=0; private final int b=1; private final int num=2; @Override public int getCount() { return books.size(); } @Override public int getViewTypeCount() { return num; } @Override public int getItemViewType(int position) { if(books.get(position).area.equals("国漫")){ return a; }else { return b; } } @Override public Object getItem(int i) { return books.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { int type = getItemViewType(i); viewholder1 holder1=null; viewholder2 holder2=null; if(view==null){ switch (type) { case a: holder1 = new viewholder1(); view = View.inflate(getActivity(), R.layout.xlist_a, null); view.setTag(holder1); holder1.tv_area1 = view.findViewById(R.id.tv_area1); holder1.tv_title1 = view.findViewById(R.id.tv_title1); holder1.img_pic1 = view.findViewById(R.id.img_pic1); break; case b: holder2 = new viewholder2(); view = View.inflate(getActivity(), R.layout.xlist_b, null); view.setTag(holder2); holder2.tv_area2 = view.findViewById(R.id.tv_area2); holder2.tv_title2 = view.findViewById(R.id.tv_title2); holder2.img_pic2 = view.findViewById(R.id.img_pic2); break; } }else{ switch (type) { case a: holder1 = (viewholder1) view.getTag(); break; case b: holder2=(viewholder2) view.getTag(); break; } } switch (type) { case a: holder1.tv_title1.setText(books.get(i).name); holder1.tv_area1.setText(books.get(i).area); ImageLoader.getInstance().displayImage(books.get(i).coverImg,holder1.img_pic1); break; case b: holder2.tv_title2.setText(books.get(i).name); holder2.tv_area2.setText(books.get(i).area); ImageLoader.getInstance().displayImage(books.get(i).coverImg,holder2.img_pic2); break; }
xlistview 上拉刷新 下拉加载
最新推荐文章于 2018-10-25 15:55:25 发布