报错是:
E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: android.graphics.Bitmap@737df77: open failed: ENOENT (No such file or directory)
I/System.out: resolveUri failed on bad bitmap uri: android.graphics.Bitmap@737df77
代码片段
public void newThread(){
if(list != null){
@SuppressLint("HandlerLeak") final
Handler handle = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what == 1) {
if (picByte != null) {
List> listems = new ArrayList>();
for (int i = 0; i < list.size(); i++) {
Bitmap bitmap = BitmapFactory.decodeByteArray(picbytes.get(i), 0, picbytes.get(i).length);
Map<String, Object> listem = new HashMap<String, Object>();
listem.put("image", bitmap);
listem.put("sname", aname[i]);
listem.put("scity", acity[i]);
listem.put("sgender", agender[i]);
listem.put("sid", aid[i]);
listems.add(listem);
}
SimpleAdapter simplead = new SimpleAdapter(getActivity(), listems,
R.layout.pfadapter, new String[]{"image", "sname", "scity", "sgender"},
new int[]{R.id.userspic1, R.id.sname, R.id.scity, R.id.sgender});
simplead.setViewBinder(new SimpleAdapter.ViewBinder(){
public boolean setViewValue(View view,Object data,String textRepresentation){
if(view instanceof ImageView && data instanceof Drawable){
CircleImageView iv=(CircleImageView)view;
iv.setImageDrawable((Drawable)data);
return true;
}
else return false;
}
});
lt1.setAdapter(simplead);
}
lt1.setOnItemClickListener(new OnItemClickListener() {
@SuppressWarnings("unchecked")
@Override
public void onItemClick (AdapterView < ? > parent, View view,int position, long id) {
ListView listView = (ListView) parent;
HashMap<String, String> map = (HashMap<String, String>) listView.getItemAtPosition(position);
String userid = map.get("sid");
String username = map.get("sname");
if (FriendshipInfo.getInstance().isFriend(userid)){
ProfileActivity.navToProfile(getActivity(), userid);
}else{
Intent person = new Intent(getActivity(),AddFriendActivity.class);
person.putExtra("id",userid);
person.putExtra("name",username);
startActivity(person);
}
}
});
}
}
};
final Runnable runnable = new Runnable() {
@Override
public void run() {
try {
int i;
for(i=0; i<list.size(); i++){
URL urlpic = new URL(list.get(i));
HttpURLConnection conn = (HttpURLConnection)urlpic.openConnection();
conn.setRequestMethod("GET");
conn.setReadTimeout(10000);
if (conn.getResponseCode() == 200) {
InputStream fis = conn.getInputStream();
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] bytes = new byte[1024];
int length = -1;
while ((length = fis.read(bytes)) != -1) {
bos.write(bytes, 0, length);
}
picByte = bos.toByteArray();
picbytes.add(picByte);
bos.close();
fis.close();
}
}
Message message = new Message();
message.what = 1;
handle.sendMessage(message);
}catch (IOException e) {
e.printStackTrace();
}
}
};
new Thread(runnable).start();
}
}