我想找到解决这个问题的方法,但我找不到答案。我有一个数据库,存储一些用户详细信息的详细信息,即ID,名称和用户图片URL。并将图像存储在SD卡中。当用户登录时,存储所有细节并将图像下载到SD卡。现在,当另一个用户登录到应用程序时,我想删除所有以前的详细信息并存储新的用户详细信息。
通过使用下面的代码我可以从SD卡获得一张图片,当我尝试列表视图时。我无法看到图像。
File mfile = new File("sdcard/Image9085.png");
if(mfile.exists()){
Bitmap picture = BitmapFactory.decodeFile(mfile.getAbsolutePath());
pic.setImageBitmap(picture);
}
任何人都可以帮我解决这两个问题。
答案 0 :(得分:2)
图片路径可能有误,请在下面说明:
File mfile = new File("/sdcard/Image9085.png");
if(mfile.exists()){
Bitmap picture = BitmapFactory.decodeFile(mfile.getAbsolutePath());
pic.setImageBitmap(picture);
}
答案 1 :(得分:1)
对于ListView,使用CustomAdapter意味着创建一个扩展BaseAdapter的类 在getView()
中public View getView(int position, View convertView, ViewGroup parent) {
View view = inflater.inflate(resourceId, null);
if(mykids_data.get(position).getImage()!=null)
{
Download dr=new Download();
dr.iv=img;
dr.execute();
//img.setImageDrawable(dr.d);
}
//
return view;
}
使用扩展AsyncTask的类Download 在doinBackground函数中只需使用
protected Drawable doInBackground(Void... params) {
File mfile = new File("sdcard/Image9085.png");
if(mfile.exists()){
Bitmap picture = BitmapFactory.decodeFile(mfile.getAbsolutePath());
Drawable d=new BitmapDrawable(picture);
d=drawable;
}