2012-01-04 3 views
0

글쎄, 웹에서 이미지를 Listview에 삽입하려고했습니다. 드로어 블 파일의 이미지를 사용할 때 "R.drawable.paris (foto 파일 이름)"을 삽입하면 모든 것이 잘됩니다. 그러나 Bitmap 객체를 사용하려고하면 이미지가 화면에 나타나지 않습니다. 아무도 내가 뭘 잘못하고 있다고 말할 수 있니?비트 맵을 HashMap에 삽입하는 방법

public class TesHashBitActivity extends Activity { 
    /** Called when the activity is first created. */ 

    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     setContentView(R.layout.main); 


     ListView listCities = (ListView)findViewById(R.id.citylist); 

     Bitmap photo = BitmapFactory.decodeResource(getResources(), R.drawable.img1); 
     ImageView img = (ImageView)findViewById(R.id.imagedisplay); 
     img.setImageBitmap(photo); 

     ArrayList<HashMap<String, Object>> citiesmap = new ArrayList<HashMap<String, Object>>(); 

     HashMap<String, Object> citmap = new HashMap<String, Object>(); 

     citmap.put("Photo", photo); 
     citmap.put("Nation", "France"); 
     citiesmap.add(citmap); 


     SimpleAdapter sadapt = new SimpleAdapter(this, citiesmap, R.layout.lines, new String[] {"Photo","Nation"}, new int[] {R.id.photoimg,R.id.contentline}); 

     listCities.setAdapter(sadapt); 
     } 
} 
+0

호기심에서 벗어난 이유 Hashmap에서 Bitmap을 사용하지 않는 이유는 무엇입니까? 왜 Object를 사용하고 있습니까? 또한 SimpleAdapter가 ArrayList를 사용하지 않는다고 확신합니다. 일반 Array가 필요합니다. –

+0

Listview에 더 많은 데이터를 추가 할 계획입니다. 사실,이 코드는 단지 새로운 애플리케이션의 일부일뿐입니다. – Javanes

+0

이 문제를 해결할 수 있었습니까? 그렇다면 대답을 적어주십시오. – Sagar

답변

1

당신은

http://www.vogella.de/articles/AndroidListView/article.html

...

이 튜토리얼에서보세요 ... 제대로 목록보기 당신이 명확하게 놓치고있는 것은 당신이를 정의하는 방법입니다 이해되지 않습니다 목록보기가 템플릿으로 사용되는 것을 봅니다 (개별 요소를 표시 할 때). 그냥 이미지 목록을 던져서 물건을 뽑아 낼 수는 없습니다. 반복적으로 용도 변경을 수행 할 View 템플릿을 제공 한 다음 해당 뷰에 채울 적절한 값을 지정해야합니다.

위 예의 경우 R.layout.rowlayout을 찾으십시오. 여기서 사용자 정의보기를 목록 요소로 사용하는 방법에 대해 설명합니다.

스택에 오신 것을 환영합니다! :) 정답을 표시하는 것을 잊지 마시고 가장 도움이되는 답을 upvote하십시오.

+0

안녕하세요 Dr.Dredel입니다. 음, 실제로 ListView에 대한보기를 설정합니다. XML 파일은 아주 간단합니다. 단지 TextView와 Imageview입니다. 그건 내가 "drawable.R.id.img1"사진 개체 대신 완벽하게 작동하는 매개 변수로 사용할 때 발생합니다. 문제는 비트 맵 객체를 해시 맵에 삽입하는 것입니다. 이것은 뉴스 응용 프로그램의 일부이므로 웹에서 이미지를 가져와야합니다. – Javanes

+0

해시 맵에 비트 맵을 삽입 할 때 '문제'가있을 수 없습니다. 메모리 공간 연관성뿐입니다. 디버거를 시작하고 채운 후에 해시 맵을 보면, 비트 맵이 거기에 앉아있는 것처럼 보일 것입니다. R.drawable.img1은 비트 맵이 아니며 리소스를 가리키는 int입니다. 나는 당신의 코드를 매우 가깝게 보지 않았지만, Object를 Bitmap으로 변경 한 다음, 전체 magilla를 ListView에 가져 오는 방법에 대한 자습서에 대한 조언을 따라야한다. –