2012-05-10 2 views
0

У меня есть список в приложении для Android. Содержимое, отображаемое внутри каждого элемента этого списка, представляет собой просто строку. Но для логики приложения каждый элемент списка должен иметь три строки (имя, идентификатор, рейтинг), но нужно отобразить только одно (имя). Поэтому эту проблему можно резюмировать следующим образом.Дополнительные элементы для элементов списка

1- Каждый элемент ListView состоит из трех строк 2 Только один отображается 3- Все строки должны быть доступны, когда элемент щелкнул

ответ

0

Создать новый объект, чтобы обернуть ваши данные затем использовать список из этих объектов для адаптера массива:

public class MyObject { 

     private final String name; 
     private final int id; 
     private final int rating; 

     public MyObject(String name, int id, int rating){ 
      this.name = name; 
      this.id = id; 
      this.rating = rating; 
     } 

     public String getName(){ 
      return name; 
     } 

     public int getId(){ 
      return id; 
     } 

     public int getRating(){ 
      return rating; 
     } 

} 

В вашей деятельности создать свой список:

MyObject myObject = new MyObject("Name" 123, 5); 
MyObject mySecondObject = new MyObject("Name2" 124, 1); 

List<MyObject> list = new ArrayList<MyObject>; 
list.add(myObject); 
list.add(mySecondObject); 

Па сс этот список для адаптера массива После того, как вы в адаптере вы будете использовать GetView

Ниже примерно то, что вы должны делать:

@Override 
public void getView(View v, int position){ 
    // ... something something 
    MyObject anObject = (MyObject) list.get(position); 

    v.setText(anObject.getName()); // This is the main point 

    /// ... something something 
    return v; 
} 
Смежные вопросы