마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

simpleadapter 이미지 관련 질문드립니다.

0 추천
try {
    URL url = new URL("http://url={" + m_profile_img + "}");
    URLConnection conn =
            url.openConnection();
    conn.connect();
    BufferedInputStream bis = new BufferedInputStream(conn.getInputStream());
    bm = BitmapFactory.decodeStream(bis); bis.close();
    Log.e("d", "bm : " + bm);

} catch (IOException e) {
    //Logger.e("Androes", " " + e);
}

array_info_Map.put("m_profile_img", bm);
adapter = new SimpleAdapter(
        MainActivity.this, arrayList, R.layout.listview_custom,
        new String[]{"m_profile_img","m_nick", "reg_date", "content", "like_cnt", "comment_cnt"},
        new int[]{R.id.custom_img1, R.id.custom_name, R.id.custom_date, R.id.custom_msg, R.id.custom_good, R.id.custom_comment}
);

mListView.setAdapter(adapter);

서버의 이미지와 텍스트를 리스트뷰에 뿌리고 있는데 텍스트는 잘되는데 이미지가 들어가지 않습니다... 위쪽에 bm을 따로 Imageview.setBitmap(bm)이렇게는 이미지가 표시가되는데 리스트에 표시하면 나오지가 않습니다.
조언 부탁드립니다.
zangon (810 포인트) 님이 2016년 9월 1일 질문
구글의 예제를 보시면 아시겠지만 서버상의 이미지를 처리하는 작업이 생각보다 처리해주어야할 것이 많습니다. 스케일링, 캐싱 등등. 저같은 경우는 아주 아주 간단한 경우가 아니라면 picaso같은 검증된 라에브러리를 사용하여 처리합니다. 라이브러리를 만드는게 아니라면 원리는 이해하시되 재개발은 하지 마시길 강추합니다.

1개의 답변

0 추천
SimpleAdater에서 ImageView는 drawable resource에 있는 이미지만 처리하고 Bitmap 인스턴스는 처리하지 못합니다. Bitmap 을 처리하고 싶으시다면 Custom Adapter를 만들어서 사용하세요.
회색 (21,340 포인트) 님이 2016년 9월 1일 답변
...