【问题标题】:Android - How to access an element data of a list that's inside another list?Android - 如何访问另一个列表中的列表的元素数据?
【发布时间】:2012-10-31 04:45:50
【问题描述】:

大家好,我遇到了列表问题。

我想要做的是有一个 BasicNameValuePair 元素列表,带有以下参数:

  • 预览网址
  • 艺术家姓名
  • 曲目名称
  • 艺术家ViewUrl
  • artworkUrl100

我从 JSON 文件中检索这些信息。

我必须将此列表存储在另一个列表中,该列表存储 10 个此类元素。

我声明了这两个列表:

  1. public static List<NameValuePair> songsInfo = new ArrayList<NameValuePair>(5);
  2. static List dieciCanzoni = new ArrayList(10);

所以 #2 必须包含 #1 的 10 个元素。

如何访问另一个列表中的列表中包含的数据?

请给我一些建议,谢谢大家!

编辑: 也许我找到了解决方案!

就像上面建议的那样,我创建了通用字符串列表,控制内部数据的代码是这样的:

dieciCanzoni.get(i).get(5).compareTo("previewUrl")==0

我可以使用 get(5),因为我知道它将是列表中的最后一个值,对吧?

【问题讨论】:

  • 而不是 get(5);要获取最后一个值,请使用 list.get(list.size()); list.size 返回它的长度,即 5。

标签: android json list


【解决方案1】:
List.get(ELEMENT_AT);

这将检索此列表中任何类型元素的列表(在本例中)。获得列表后,通过再次执行来检索列表中的内容。

List.get(ELEMENT_AT).get(ELEMENT_AT);

这将检索第一个列表的一个元素(LIst),并获取一个元素。

但要在列表中创建列表,您需要这样做:

List<CLASS> listParent=new ArrayList<CLASS>();
List<CLASS_IN> listChild=new ArrayList<CLASS_IN>();
addStuff();
for(...){
listParent.add(listChild);
}

【讨论】:

  • 好的,但是我必须将标签与指定的值相关联,否则我怎么知道previewUrl或artistUrl?我使用 NameValuePair 列表为每个属性分配标签,所以我可以执行类似 list.get(location).getName()=="previewUrl" 之类的操作。建议?
  • 也许我找到了解决办法!
  • 据我所知(无需 google)NameValuePair 是一个类,您可以将其设置为您的 CLASS_IN,因此 list.get(INT).get(INT).getName()==SO.com。
猜你喜欢
  • 2013-05-24
  • 2019-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-31
相关资源
最近更新 更多