добавив изображение в просмотр списка, просмотр списка присутствует во вкладке - PullRequest
0 голосов
/ 21 сентября 2011

У меня есть 4 вкладки A, B, C и D. Каждая вкладка имеет вид списка, который я заполняю, используя следующий код:

 TabSpec s1=tabhost1.newTabSpec("Tab A");
 s1.setIndicator("A",getResources().getDrawable(R.drawable.A));
 s1.setContent(R.id.listV1);
 tabhost1.addTab(s1);

 listview1= (ListView) findViewById(R.id.listV1);
 listview1.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,getResources().getStringArray(R.array.tab1content)));

Теперь я хочу добавить изображение для каждойэлемента в списке рассылки, какие-либо указания о том, как мне поступить в этом?

Ответы [ 2 ]

0 голосов
/ 21 сентября 2011

Это работает для меня:

class ListAdapter extends BaseAdapter {

    public int getCount() {  //returns the size of your list
        if (imgDetails != null) {
            return imgDetails.size();
        }
        return 0;
    }
    public Object getItem(int arg0) {
        // TODO Auto-generated method stub
        return null;
    }
    public long getItemId(int arg0) {
        // TODO Auto-generated method stub
        return 0;
    }
    public View getView(int arg0, View convertView, ViewGroup arg2) {
        if (convertView == null) {
            convertView =  getLayoutInflater().inflate(R.layout.details_cell_view, null); // create an xml to inflate and put an imageview , textview in it.
        }
        String str = imgDetails.get(arg0).getId();
        if(str.equals("1"))
            ((ImageView) convertView.findViewById(R.id.img_details_img)).setBackgroundResource(R.drawable.img_1);
        if(str.equals("2"))
            ((ImageView) convertView.findViewById(R.id.img_details_img)).setBackgroundResource(R.drawable.img_2);
        if(str.equals("3"))
            ((ImageView) convertView.findViewById(R.id.img_details_img)).setBackgroundResource(R.drawable.img_3);
        if(str.equals("4"))
            ((ImageView) convertView.findViewById(R.id.img_details_img)).setBackgroundResource(R.drawable.img_4);


        ((TextView) convertView.findViewById(R.id.img_details_txt)).setText(imgDetails.get(arg0).getText());
       //to set an arrow at the right of each row
        ((ImageView) convertView.findViewById(R.id.right_arrow)).setBackgroundResource(R.drawable.arrow_img);
        convertView.setPadding(1, 1, 1, 0);
        return convertView;
    }

}
0 голосов
/ 21 сентября 2011

Создайте собственный ListAdapter, в котором вы будете устанавливать изображения для элементов списка.Установите этот адаптер в качестве ListAdapter для этого списка, используя

ListView listView = (ListView) findViewById(R.id.listV1);
listView.setAdapter(new CustomListAdapter(this));

. Ознакомьтесь с данным руководством по созданию пользовательских адаптеров http://www.softwarepassion.com/android-series-custom-listview-items-and-adapters/

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