Android 如何获取多个图像路径并转换为位图
我的应用程序使用相机拍照。然后获取URI,然后是该照片的路径,并将该路径存储在SQLite数据库中。所有这些看起来都很好,但是当我将图像作为位图查看时,这段代码只为每个记录显示相同的图像(最后一个)(每个记录上的所有其他信息都正确显示) 这是我获取Android 如何获取多个图像路径并转换为位图,android,image,bitmap,path,Android,Image,Bitmap,Path,我的应用程序使用相机拍照。然后获取URI,然后是该照片的路径,并将该路径存储在SQLite数据库中。所有这些看起来都很好,但是当我将图像作为位图查看时,这段代码只为每个记录显示相同的图像(最后一个)(每个记录上的所有其他信息都正确显示) 这是我获取timage信息的地方,以及记录的其他详细信息: public ArrayList<ProductModel> _productlist = new ArrayList<ProductModel>(); ArrayList<
timage
信息的地方,以及记录的其他详细信息:
public ArrayList<ProductModel> _productlist = new ArrayList<ProductModel>();
ArrayList<ProductModel> product_list = db.getProducts();
for (int i = 0; i < product_list.size(); i++) {
String tidno = product_list.get(i).getIdno();
System.out.println("tidno>>>>>" + tidno);
timage = product_list.get(i).getImage();
System.out.println(timage);
String tname = product_list.get(i).getProductname();
String tdesc = product_list.get(i).getproductdesc();
ProductModel _ProductModel = new ProductModel();
_ProductModel.setIdno(tidno);
_ProductModel.setImage(timage);
_ProductModel.setProductname(tname);
_ProductModel.setproductdesc(tdesc);
_productlist.add(_ProductModel);
}
totalrecords.setText("Total Records :-" + _productlist.size());
listview.setAdapter(new ListAdapter(this));
db.close();
public ArrayList\u productlist=new ArrayList();
ArrayList product_list=db.getProducts();
对于(int i=0;i>>>>”+tidno);
timage=product_list.get(i).getImage();
系统输出打印LN(timage);
字符串tname=product_list.get(i).getProductname();
字符串tdesc=product_list.get(i).getproductdesc();
ProductModel_ProductModel=新ProductModel();
_ProductModel.setIdno(tidno);
_ProductModel.setImage(timage);
_ProductModel.setProductname(tname);
_ProductModel.setproductdesc(tdesc);
_productlist.add(_ProductModel);
}
setText(“总记录:-”+_productlist.size());
setAdapter(新的ListAdapter(this));
db.close();
前3行是基于Vino的答案,通过缩放图像来消除我收到的内存不足错误。
mPhoto
只是一个Bitmap
变量,timage
是图像路径(正确打印到控制台上)
有人能给我一个正确方向的提示,让应用程序显示每一张图像,而不仅仅是最后一张拍摄的图像吗?该变量
timage
正在为迭代保存中最后一项的值
for (int i = 0; i < product_list.size(); i++)
{
//...
timage = product_list.get(i).getImage();
//...
}
它被用于你所有的图像。您不应该改用\u ProductModel.getImage()
吗?什么是timage,它来自哪里?@Merlevede timage是一个字符串。我有一个名为productlist的数组列表,timage用于获取该列表的图像路径,它与产品id、名称和描述一起输入到列表中(每个记录都正确显示)。我已在上面发布了代码片段谢谢。我认为您的答案在错误方面是正确的,但不幸的是,ProductModel.getImage()似乎产生了同样的问题。
for (int i = 0; i < product_list.size(); i++)
{
//...
timage = product_list.get(i).getImage();
//...
}
mPhoto = BitmapFactory.decodeFile(timage.toString(), options);