2014-08-30 3 views
0

5 개의 비트 맵으로 구성된 ArrayList를 만들었습니다. ArrayList를 생성하기 위해 나는 내 자신의 클래스를 만들었습니다. gridview에 이미지를 표시했습니다. 격자보기 항목을 클릭하면 항목의 위치가 올바르게 반환되지 않기 때문에 BitmapFactory.decodeFile()이 null을 반환합니다. 여기 Items.classBitmapFactory.decodefile이 null을 반환하고 있습니까?

코드

이다

public class Items { 
final String name; 
public final int drawableId; 

public Items(String name, int drawableId) { 
    this.name = name; 
    this.drawableId = drawableId; 
    } 
} 

ArrayList를 추가하고이를 이미지 Log.d. 이미지를

ArrayList<Items> _bitmaps; 
..... 
String itemPosition = _bitmaps.get(position).toString(); 

Log.d("POS", "Item Position: " + itemPosition); 

Bitmap bitmap = BitmapFactory.decodeFile(itemPosition, options); 
imgDisplay.setImageBitmap(bitmap); 

공지 게재시

ArrayList<Items> bitmaps = new ArrayList<Items>(); 
bitmaps.add(new Items("image_name", R.drawable.image1)); 

에서 있는 gridview의 첫 번째 항목 즉 위치 0, 그것은 반환

08-31 02:11:47.125: D/POS(943): Item Position: [email protected] 
+0

프로젝트 정리를 시도 했습니까? –

+0

예. 그러나 같은 오류 – user3864752

+0

당신은'getView'를 게시 할 수 있습니까? – mmlooloo

답변

0

를 들어 당신은 당신은 문자열로 Item 클래스를 캐스팅,이 라인

String itemPosition = _bitmaps.get(position).toString(); 

을 항목 위치를받지 못하고있다. 개체의 '이름'을 가져 오려면이 작업을 수행해야합니다.

String itemPosition = _bitmaps.get(position).name; 
+0

이름이 표시되고 있지만 이미지가 – user3864752

+0

으로 표시되지 않고 격자보기의 항목 1을 클릭하면 항목 1, 항목 2 및 항목 3의 이름이 동시에 표시됩니다. – user3864752

+0

그런 다음 경로가 잘못되었습니다. 이미지의 경로를 비트 맵으로 디코딩해야합니다. –

관련 문제