我的 Android 应用程序中有一个列表视图。此列表视图的每个元素中显示的内容只是一个字符串。但对于应用程序逻辑,每个列表视图项需要有三个与之关联的字符串(名称、id、评级),但只有需要显示一个(名称)。因此,这个问题可以总结如下。
1- 每个列表视图元素由三个字符串组成 2- 只显示一个 3- 单击项目时所有字符串都应该可用
我的 Android 应用程序中有一个列表视图。此列表视图的每个元素中显示的内容只是一个字符串。但对于应用程序逻辑,每个列表视图项需要有三个与之关联的字符串(名称、id、评级),但只有需要显示一个(名称)。因此,这个问题可以总结如下。
1- 每个列表视图元素由三个字符串组成 2- 只显示一个 3- 单击项目时所有字符串都应该可用
创建一个新对象来包装您的数据,然后为您的数组适配器使用这些对象的列表:
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;
}