Как вставить растровое изображение в HashMap - PullRequest
0 голосов
/ 04 января 2012

Ну, я пытался вставить изображения из Интернета в ListView.Когда я использую изображения из нарисованного файла, вставляя «R.drawable.paris (имя файла фото)», все идет хорошо.Но когда я пытаюсь использовать объект Bitmap, изображение просто не появляется на экране.Кто-нибудь может сказать мне, что я делаю не так?

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);
        }
}

1 Ответ

1 голос
/ 04 января 2012

Вы неправильно понимаете ListView ...

Взгляните на этот урок ...

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

Вам явно не хватает того, как вы определяете представление, которое представление списка использует в качестве своего шаблона (для отображения отдельного элемента). Вы не можете просто бросить ему список изображений и заставить его разобраться. Вам необходимо предоставить ему шаблон представления, который он будет многократно менять, а затем дать ему соответствующие значения для заполнения в этих представлениях.

В приведенном выше примере ищите R.layout.rowlayout. Здесь он объясняет, как использовать пользовательский вид в качестве элемента списка.

И добро пожаловать в стек! :) Не забывайте отмечать правильные ответы как таковые и ставить те, которые вы считаете наиболее полезными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...