您的位置:首页 > 其它

ImageLoader多张图片&listview多条目加载

2017-09-09 08:38 309 查看
//MainActivity

package com.bawei.mi;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.ListView;

import com.bawei.mi.Adapter.lv_adapter;
import com.bawei.mi.Bean.json_bean;
import com.bawei.mi.Bean.lv_bean;
import com.google.gson.Gson;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

private ListView lv;
private ArrayList<lv_bean> list = new ArrayList<lv_bean>();

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取控件id
lv = (ListView) findViewById(R.id.lv);
initData();//解析json串
}

Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
Gson gson = new Gson();
String str = msg.obj.toString();
//            json_bean json_bean = gson.fromJson((String) msg.obj, json_bean.class);
json_bean json_bean = gson.fromJson(str, json_bean.class);
com.bawei.mi.Bean.json_bean.ResultBean result = json_bean.getResult();
List<com.bawei.mi.Bean.json_bean.ResultBean.DataBean> data = result.getData();

//判断是否存在ABC图片
for (int i = 0; i < data.size(); i++) {
String thumbnail_pic_s = data.get(i).getThumbnail_pic_s();
String thumbnail_pic_s02 = data.get(i).getThumbnail_pic_s02();
String thumbnail_pic_s03 = data.get(i).getThumbnail_pic_s03();
if (thumbnail_pic_s != null && thumbnail_pic_s02 == null && thumbnail_pic_s03 == null) {
list.add(new lv_bean(data.get(i).getTitle(), data.get(i).getThumbnail_pic_s(), 0));
} else if (thumbnail_pic_s != null && thumbnail_pic_s02 != null && thumbnail_pic_s03 == null) {
list.add(new lv_bean(data.get(i).getTitle(), data.get(i).getThumbnail_pic_s(), data.get(i).getThumbnail_pic_s02(), 1));
} else if (thumbnail_pic_s != null && thumbnail_pic_s02 != null && thumbnail_pic_s03 != null) {
list.add(new lv_bean(data.get(i).getTitle(), data.get(i).getThumbnail_pic_s(), data.get(i).getThumbnail_pic_s02(), data.get(i).getThumbnail_pic_s03(), 2));
}
}
lv.setAdapter(new lv_adapter(MainActivity.this, list));
Log.e("shipeiqidexiamian", "qwrwjsda");

}
};

//解析json串
private void initData() {
new Thread() {
@Override
public void run() {
super.run();
try {
URL url = new URL("http://v.juhe.cn/toutiao/index?type=top&key=2f092bd9ce76c0257052d6d3c93c11b4");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
int responseCode = urlConnection.getResponseCode();
if (responseCode == 200) {
InputStream inputStream = urlConnection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder builder = new StringBuilder();
String stringTemp = "";
while ((stringTemp = reader.readLine()) != null) {
builder.append(stringTemp);
}
Message message = new Message();
message.obj = builder.toString();
handler.sendMessage(message);
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
}
}


//adapter适配器

package com.bawei.mi.Adapter;

import android.content.Context;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.bawei.mi.Bean.lv_bean;
import com.bawei.mi.R;
import com.nostra13.universalimageloader.core.ImageLoader;

import java.util.ArrayList;

/**
* author:Created by WangZhiQiang on 2017/9/8.
*/

public class lv_adapter extends BaseAdapter {

private Context con;
private ArrayList<lv_bean> list;

public lv_adapter(Context con, ArrayList<lv_bean> list) {
this.con = con;
this.list = list;
}

@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 int getItemViewType(int position) {
return list.get(position).getType();
}

@Override
public int getViewTypeCount() {
return 3;
}

class viewHoder {
TextView title;
ImageView img1;
ImageView img2;
ImageView img3;
}

@Override
public View getView(int i, View view, ViewGroup viewGroup) {
viewHoder hoder = new viewHoder();
lv_bean bean = list.get(i);
int type = bean.getType();
if (type == 0) {
if (view == null) {
view = View.inflate(con, R.layout.layout_first, null);
hoder.title = (TextView) view.findViewById(R.id.title);
hoder.img1 = (ImageView) view.findViewById(R.id.img1);
view.setTag(hoder);
} else {
hoder = (viewHoder) view.getTag();
}
hoder.title.setText(bean.getTitle());
ImageLoader.getInstance().displayImage(bean.getPic1(), hoder.img1);
Log.e("adapteradapter", "111111111");
} else if (type == 1) {
if (view == null) {
view = View.inflate(con, R.layout.layout_second, null);
hoder.title = (TextView) view.findViewById(R.id.title);
hoder.img1 = (ImageView) view.findViewById(R.id.img1);
hoder.img2 = (ImageView) view.findViewById(R.id.img2);
view.setTag(hoder);
} else {
hoder = (viewHoder) view.getTag();
}
hoder.title.setText(bean.getTitle());
ImageLoader.getInstance().displayImage(bean.getPic1(), hoder.img1);
ImageLoader.getInstance().displayImage(bean.getPic2(), hoder.img2);
Log.e("adapteradapter", "222222222");
} else if (type == 2) {
if (view == null) {
view = View.inflate(con, R.layout.layout_thrid, null);
hoder.title = (TextView) view.findViewById(R.id.title);
hoder.img1 = (ImageView) view.findViewById(R.id.img1);
hoder.img2 = (ImageView) view.findViewById(R.id.img2);
hoder.img3 = (ImageView) view.findViewById(R.id.img3);
view.setTag(hoder);
} else {
hoder = (viewHoder) view.getTag();
}
hoder.title.setText(bean.getTitle());
ImageLoader.getInstance().displayImage(bean.getPic1(), hoder.img1);
ImageLoader.getInstance().displayImage(bean.getPic2(), hoder.img2);
ImageLoader.getInstance().displayImage(bean.getPic3(), hoder.img3);
Log.e("adapteradapter", "33333333");
}
return view;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: