1

Например, если мне нужно создать собственный список представлений о типе пищи, в каждом list_item есть логотип типа питания, название типа питания. Если я храню имя типа пищи в строчном ресурсе и сохраняю изображение каждого типа пищи в вытягиваемой.Как настраивать каждый элемент списка элементов с изображением из рисунка?

1) Как я могу получить изображение с возможностью рисования и установить вид списка? 2) Как получить изображение, соответствующее названию пищевого типа

Спасибо за внимание.

public class FoodListActivity extends ListActivity { 

    private CustomListAdapter listAdapter; 
    private String[] food_type_name; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.foodlistholder); 

     food_type_name = getResources().getStringArray(R.array.food_name_array); 


     listAdapter = new CustomListAdapter(this, R.layout.list_item_food, food_type_name); 



     setListAdapter(listAdapter); 


    private class CustomListAdapter extends ArrayAdapter<String>{ 

     private String[] items; 

     public CustomListAdapter(Context context, int textViewResourceId, 
       String[] items) { 
      super(context, textViewResourceId, items); 
      this.items = items; 
     } 


     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      View v = convertView; 
      if(v == null){ 
       LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
       v = vi.inflate(R.layout.list_item_food, null); 
      } 

      TextView foodNameStr = (TextView)v.findViewById(R.id.food_name_txt); 

      foodNameStr.setText(items[position]); 
       //How to set Image view form drawable, which match the food's type name 

     return v; 


    } 

    } 

} 
+1

лучше пройдите этот пример http://www.vogella.de/articles/AndroidListView/article.html –

+0

благодарит вас за ваш anser, однако я подумал, что будет еще более красивое решение. После этой ссылки у него есть только 2 изображения (R.drawable.no и R.drawable.ok), они используют, если/ese условие для переключения 2 изображения. Что делать, если у меня много видов пищи, может быть 40 элементов списка. Мне нужно написать условие, чтобы переключить все 40 элементов? если это так, я сделаю случай переключения. в любом случае, спасибо –

ответ

2

Как и вы, установив текст, но для ImageView.

ImageView foodPhoto = (ImageView)v.findViewById(R.id.food_photo); 
foodPhoto.setImageDrawable(foodDrawable); 

Вам просто нужно создать список доступных идентификаторов, чтобы узнать, какой из них можно использовать.

Смежные вопросы