子线程中获取了网络接口,然后传给了Handler,Handler里解析Json,获得的Json中有图片网络地址,怎样在Handler中取网络图片,求大神指点迷津!!!感激不尽
获取网络图片肯定要在子线程里获取,当然图片加载框架就行了,框架里面已经实现子线程下载图片的,只需要在回调中获取图片就行了
我是从网络获取的Json数据,然后再Handler里解析,解析中有图片网络地址,就是下面imgurl,但是之后不知道该怎么做了
handler = new Handler() {
private String imgurl;
@Override
public void handleMessage(Message msg) {
if (msg.what == 2) {
String jsondata = (String) msg.obj;
try {
mapList = new ArrayList<>();
JSONObject jsonObject = new JSONObject(jsondata);
String warning = jsonObject.getString("message");
int errorcode = jsonObject.getInt("errorcode");
if (errorcode == 1) {
Toast.makeText(getContext(), warning, Toast.LENGTH_SHORT).show();
}
JSONArray array = jsonObject.getJSONArray("data");
for (int i = 0; i < array.length(); i++) {
HashMap<String, Object> hashMap = new HashMap<>();
JSONObject object = array.getJSONObject(i);
String originalPrice = String.valueOf(object.getDouble("originalPrice"));
String price = String.valueOf(object.getDouble("price"));
String title = object.getString("goodsName");
String goodsCode = object.getString("goodsCode");
imgurl = object.getString("goodsImage");
hashMap.put("originalprice", originalPrice);
hashMap.put("price", price);
hashMap.put("title", title);
hashMap.put("goodsCode", goodsCode);
hashMap.put("imgurl", imgurl);
mapList.add(hashMap);
}
adapter = new XIangGuanAdapter(mapList, getContext());
listView.setAdapter(adapter);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Product_details.goodsCode = (String) mapList.get(position).get("goodsCode");
getParentFragment().getFragmentManager().beginTransaction().addToBackStack(null).replace(R.id.fragment, new Product_details()).commit();
}
});
} catch (JSONException e) {
e.printStackTrace();
}
}
}
};
你在线程里面去解析数据,解析成功message返回CODE,解析失败返回另外一个CODE,然后用匿名对象去接收返回的CODE,然后处理对应的适配就可以了