将图像和文本存储在一个数据类型android中

时间:2015-05-17 00:38:14

标签: android list

我想知道一种将图像和相关文本存储在List中的方法。我尝试过做这样的事情

List<NameValuePair>cars = new ArrayList<NameValuePair>();
 cars.add(new BasicNameValuePair("Hyundai Elantra",Integer.toString(R.drawable.hyundai_elantra)));

我知道这是错的,但是我发布了它,这样你就可以了解我想要实现的目标。

2 个答案:

答案 0 :(得分:2)

对您来说,最好的办法是创建一个名为Car的自定义类来存储每辆汽车,然后创建一个ArrayList<Car>来存储数据。

以下是您的Car类的样子:

public class Car
{
  public String type;
  public int imageID;
  public Car(String t, int i)
  {
    type = t;
    imageID = i;

  }

  public String toString()
  {
    return type + " " + String.valueOf(imageID);
  }
}

然后你将声明ArrayList,并添加值:

ArrayList<Car> carList = new ArrayList<Car>();

carList.add(new Car("Hyundai Elantra", R.drawable.hyundai_elantra));

carList.add(new Car("Lexus RX350", R.drawable.lexus_rx350));

然后,当您想要填充UI时,可以遍历列表:

for (Car c : carList){

  String s = c.type;
  int image = c.imageID;

  //use the values.......

}

请注意,您可以使用此ArrayList作为自定义适配器的数据源,以便在ListView中显示文本和图像,如果这是您要查看的内容。

答案 1 :(得分:0)

你可以使用Textand Image创建一个名为NameValue的类,你可以按如下方式声明一个数组列表

settings.py