0

我的 Android 应用程序中有一个列表视图。此列表视图的每个元素中显示的内容只是一个字符串。但对于应用程序逻辑,每个列表视图项需要有三个与之关联的字符串(名称、id、评级),但只有需要显示一个(名称)。因此,这个问题可以总结如下。

1- 每个列表视图元素由三个字符串组成 2- 只显示一个 3- 单击项目时所有字符串都应该可用

4

1 回答 1

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;
}
于 2012-05-21T22:50:04.990 回答