2014-03-04 4 views
0

내 앱은 카메라를 사용하여 사진을 찍습니다. 그런 다음 URI와 그 사진의 경로를 가져 와서 SQLite 데이터베이스에 경로를 저장합니다. 모든 것이 잘 작동하는 것처럼 보이지만 이미지를 비트 맵으로 보려고하면이 코드는 모든 레코드 (모든 레코드의 다른 모든 정보가 올바르게 표시됨)에 대해 동일한 이미지 (마지막 코드) 만 표시합니다.여러 이미지 경로를 가져 와서 비트 맵으로 변환하는 방법

BitmapFactory.Options options = new BitmapFactory.Options(); 
options.inSampleSize = 8; 
mPhoto = BitmapFactory.decodeFile(timage.toString(), options); 
viewHolder.img_image = (ImageView) convertView.findViewById(R.id.image); 
viewHolder.img_image.setImageBitmap(mPhoto); 

내가 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(); 

처음 3 개 라인 Suggestions to avoid bitmap Out of Memory error에서 비노의 대답을 기반으로 - 이미지를 스케일링 없애 다른 방법으로받은 메모리 부족 오류를 mPhoto은 단순히 Bitmap 변수이며, timage은 이미지 경로 (콘솔에 올바르게 인쇄 됨)입니다.

마지막으로 찍은 것이 아닌 모든 이미지를 보여주는 앱을 얻으려면 올바른 방향으로 나에게 힌트를 줄 수있는 사람이 있습니까?

+0

시간표 란 무엇이며 어디서 오는 것입니까? – Merlevede

+0

@Merlevede timage는 문자열입니다. productlist라고하는 배열 목록이 있고 timage는 해당 목록의 이미지 경로를 가져 오는 데 사용되며 제품 ID, 이름 및 설명 (모두 각 레코드에 대해 올바르게 표시됨)과 함께 목록에 입력됩니다. 위에 코드 스 니펫을 게시했습니다. – user3027078

답변

0

변수 timagefor 반복의 마지막 항목 값을 보존합니다.

따라서 루프를 종료 한 후 timage은 마지막 항목의 값을가집니다. 그리고 물론 여기

mPhoto = BitmapFactory.decodeFile(timage.toString(), options); 

모든 이미지에 사용 중입니다. 대신 _ProductModel.getImage()을 사용해야합니까?

+0

감사합니다. 나는 당신이 대답은 틀렸다고 생각하지만, 불행하게도 _ProductModel.getImage()는 똑같은 문제를 일으키는 것 같다. – user3027078

관련 문제