String str = "https://www.toutiao.com/api/pc/focus/"; private ListView lv; private bean.DataBean data; private List<bean.DataBean.PcFeedFocusBean> list; private hodler h; //text文本的handle Handler handler = new Handler() { @Override public void handleMessage(Message msg) { int what = msg.what; switch (what) { case 1: data = (bean.DataBean) msg.obj; list = data.getPc_feed_focus(); Myadapter my = new Myadapter(); lv.setAdapter(my); break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //子线程做耗时操作 new Thread(new Runnable() { @Override public void run() { Dao dao = new Dao(); String settext = dao.Settext(str); Gson g = new Gson(); bean be = g.fromJson(settext, bean.class); bean.DataBean data = be.getData(); Message message = handler.obtainMessage(); message.obj = data; message.what = 1; handler.sendMessage(message); } }).start(); lv = (ListView) findViewById(R.id.lv); } //listview的适配器 class Myadapter extends BaseAdapter { private TextView tv; private TextView tv1; private TextView tv2; private ImageView iv; @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return null; } @Override public long getItemId(int i) { return 0; } @Override public View getView(final int i, View view, ViewGroup viewGroup) { if (view == null) { //获取子布局 view = view.inflate(MainActivity.this, R.layout.f1, null); //实例化优化对象 h = new hodler(); h.tv = view.findViewById(R.id.tv); h.tv1 = view.findViewById(R.id.tv1); h.tv2 = view.findViewById(R.id.tv2); h.iv = view.findViewById(R.id.iv); //h.tv.setText(Integer.valueOf(list.get(i).getGroup_id()) ); h.tv1.setText(list.get(i).getTitle()); h.tv2.setText(list.get(i).getMedia_url()); //获取网络上的图片 new MaAsny(h.iv).execute("http:" + list.get(i).getImage_url()); view.setTag(h); } else { h = (hodler) view.getTag(); } return view; } } //优化 class hodler { TextView tv; TextView tv1; TextView tv2; ImageView iv; } //获取图片的适配器 private class MaAsny extends AsyncTask<String, Void, Bitmap> { private ImageView iv; public MaAsny(ImageView iv) { this.iv = iv; } @Override protected Bitmap doInBackground(String... strings) { return Dao.Setimg(strings[0]); } @Override protected void onPostExecute(Bitmap bitmap) { super.onPostExecute(bitmap); iv.setImageBitmap(bitmap); } }
从网络上获取到文件 并解析到listview中
最新推荐文章于 2018-07-13 15:10:42 发布