Xlistview
来源:互联网 发布:专业绘画软件 编辑:程序博客网 时间:2024/06/10 13:59
package com.bwie.skn.xianxi20.fragment;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.AsyncTask;import android.os.Bundle;import android.os.Handler;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import com.bwie.skn.xianxi20.R;import com.bwie.skn.xianxi20.bean.JsonBean;import com.bwie.skn.xianxi20.xlistview.XListView;import com.google.gson.Gson;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;import java.util.ArrayList;import java.util.List;public class Fragment1 extends Fragment implements XListView.IXListViewListener{ @Nullable private View view; private XListView xlv; Handler handler; private List<JsonBean.ResultBean.RowsBean> list = new ArrayList<>(); private MyAdapter myAdapter; @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = inflater.inflate(R.layout.fragment1,container,false); return view; } @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); initView(); handler = new Handler(); myAdapter = new MyAdapter(); xlv.setAdapter(myAdapter); initdata(); } private void initdata() { new MyAsyncTaskString().execute("http://api.fang.anjuke.com/m/android/1.3/shouye/recInfosV3/?city_id=14&lat=40.04652&lng=116.306033&api_key=androidkey&sig=9317e9634b5fbc16078ab07abb6661c5&macid=45cd2478331b184ff0e15f29aaa89e3e&app=a-ajk&_pid=11738&o=PE-TL10-user+4.4.2+HuaweiPE-TL10+CHNC00B260+ota-rel-keys%2Crelease-keys&from=mobile&m=Android-PE-TL10&cv=9.5.1&cid=14&i=864601026706713&v=4.4.2&pm=b61&uuid=1848c59c-185d-48d9-b0e9-782016041109&_chat_id=0&qtime=20160411091603"); } private void initView() { xlv =(XListView) view.findViewById(R.id.xlv); //必须写 xlv.setPullLoadEnable(true); xlv.setXListViewListener(this); } //适配器 class MyAdapter extends BaseAdapter{ public MyAdapter(){ super(); } @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { Hordel hordel; if(view == null){ hordel = new Hordel(); view = View.inflate(getActivity(),R.layout.lv_item_layout1,null); hordel.image =(ImageView) view.findViewById(R.id.image); hordel.text1 =(TextView) view.findViewById(R.id.text1); view.setTag(hordel); }else{ hordel = (Hordel) view.getTag(); } hordel.text1.setText(list.get(i).getInfo().getLoupan_name()); new MyAsyncTaskImage(hordel.image).execute(list.get(i).getInfo().getDefault_image()); return view; } } class Hordel{ ImageView image; TextView text1; } //网络获取图片 class MyAsyncTaskImage extends AsyncTask<String,Void,Bitmap>{ private ImageView imageView; public MyAsyncTaskImage(ImageView imageView) { this.imageView = imageView; } @Override protected Bitmap doInBackground(String... strings) { try { URL url = new URL(strings[0]); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); int responseCode = urlConnection.getResponseCode(); if(responseCode==200){ InputStream inputStream = urlConnection.getInputStream(); Bitmap bitmap = BitmapFactory.decodeStream(inputStream); return bitmap; } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(Bitmap bitmap) { super.onPostExecute(bitmap); imageView.setImageBitmap(bitmap); } } //网络获取接json串 class MyAsyncTaskString extends AsyncTask<String,Void,String>{ @Override protected String doInBackground(String... strings) { try { URL url = new URL(strings[0]); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); int responseCode = urlConnection.getResponseCode(); if(responseCode==200){ InputStream inputStream = urlConnection.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); StringBuffer buffer = new StringBuffer(); String str = ""; while ((str = reader.readLine())!=null){ buffer.append(str); } Log.e("String:",buffer.toString()+"+++++++++++++++++++++++++++++++++++"); return buffer.toString(); } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Log.d("TAG", "onPostExecute: "+s); Gson gson = new Gson(); JsonBean jsonBean = gson.fromJson(s, JsonBean.class); List<JsonBean.ResultBean.RowsBean> rows = jsonBean.getResult().getRows(); Log.e("String", "onPostExecute:tempList "+rows.size()); list.addAll(rows); Log.e("String", "onPostExecute:list.size() "+list.size()); myAdapter.notifyDataSetChanged(); } } //关闭 public void onLoad(){ xlv.stopRefresh(); xlv.stopLoadMore(); xlv.setRefreshTime("刚刚"); } /** * 下拉刷新 */ @Override public void onRefresh() { list.clear(); initdata(); onLoad(); } //上拉加载 @Override public void onLoadMore() { initdata(); onLoad(); }}
阅读全文
2 0
- XListView
- XListView
- Xlistview
- XListView
- xListView
- XListView
- xlistview
- xListView
- XlistView
- xlistview
- xlistview
- XListView
- xlistview
- xListview
- XListView
- XListView
- xlistview
- xlistview
- SSR服务端配置说明
- 006、跳转控制语句
- CocoWu‘s 吖吖学英语 Week Report
- contentType和pageEncoding属性的区别
- 工科硕士论文答辩面面观——细数答辩会非正常现象
- Xlistview
- js的单线程和异步
- Mac升级为macOS Sierra系统后项目报错
- 007、java方法
- 2015 计蒜之道 初赛 商品推荐走马灯(dp)
- 找出一堆数中最小的前K个数
- 爬虫实例(三)——股票数据定向爬虫
- HDU
- python里协程使用同步锁Lock