Dynamically show images from resource/drawable

后端 未结 3 912
孤独总比滥情好
孤独总比滥情好 2021-01-06 13:22

I\'m trying to put different images (.jpg , .png) dynamically into a ListView from res/drawable . The names from the images I get from a database.

3条回答
  •  一向
    一向 (楼主)
    2021-01-06 13:29

    This following method or way also works - if anyone is still interested

    List> list = new ArrayList>();
    Integer flags[] = new Integer[listdetail.size()];
    Resources resources = getResources();
    for (int i = 0; i < listdetail.size(); i += 2) {
        listName = listdetail.get(i).getName();
        int dynamicId = resources.getIdentifier(listdetail.get(i).getName().replaceAll(" ", "").toLowerCase(), "drawable", getActivity().getPackageName());
        if(dynamicId == 0) {
            dynamicId = R.drawable.test_image;
            flags[i] = dynamicId;
        }else {
            flags[i] = dynamicId;
        }
        HashMap hm = new HashMap();
        hm.put("value1", listdetail.get(i).getName());
        hm.put("valueImage1", Integer.toString(flags[i]));
        list.add(hm);
    }
    
    String[] from = { "value1", "valueImage1"};
    int[] to = { R.id.textview, R.id.imageView };
    SimpleAdapter adapter = new SimpleAdapter(getActivity().getBaseContext(), list, R.layout.listlayout, from, to);
    
    ListView listView = (ListView) getActivity().findViewById(R.id.listview);
    listView.setAdapter(adapter);
    

提交回复
热议问题