我的Android应用程序中有一个listview。此列表视图的每个元素内显示的内容只是一个String.But,对于应用程序逻辑,每个listview项需要有三个与之关联的字符串(Name,id,rating) ,但只有一个(名称)需要显示。因此,这个问题可归纳如下。
1-每个listview元素都包含三个字符串 2-仅显示一个 3-单击某个项目时,所有字符串都应该可用
答案 0 :(得分: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;
}