gpt4 book ai didi

android - 如何访问(迭代?)另一个类中的 ArrayList/Hashmap?

转载 作者:行者123 更新时间:2023-11-29 22:14:40 25 4
gpt4 key购买 nike

我在我的主类中定义了一个 ArrayList,我在其中从 XML 提要加载数据并创建具有不同 Activity 的各种选项卡:

static ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();

我将映射条目放入 HashMap 的 ArrayList 的示例:

for (int i = 0; i < 10; i++) {      
HashMap<String, String> map = new HashMap<String, String>();
Element e = (Element)nodes.item(i);
map.put("id", XMLfunctions.getValue(e, "id"));
map.put("lat", "Lat: " + XMLfunctions.getValue(e, "lat"));
map.put("long", "Long: " + XMLfunctions.getValue(e, "long"));
mylist.add(map);
}

第一个选项卡是 ListViewActivity,我可以通过列表适配器在主类中引用 ArrayList 来成功创建列表:class.mylist:

ListAdapter adapter = new SimpleAdapter(
ListViewActivity.this,
main.mylist, R.layout.list,
new String[] { "id", "lat", "long" },
new int[] { R.id.item_id, R.id.item_lat, R.id.item_long });
setListAdapter(adapter);

我的第二个选项卡是 MapView,我能够成功切换选项卡、在选项卡布局中显示 map 以及平移和缩放等。

我需要帮助的地方是了解如何访问主类中“mylist”ArrayList/Hashmap 中的“lat”和“long”字符串(注意:我声明了主类中的 ArrayList/Hashmap,然后在所有 Activity 中共享它,因为它是一个相当大的 XML 提要,我不想重新加载数据或在内存中有太多对象)。

然后我的目标是将这些纬度/经度坐标转换为 GeoPoints 并使用 map 叠加显示它们;我已经能够使用硬编码到我的 map Activity 类中的固定地理点来执行此操作。但是,正如我上面所写的,我现在需要替换这些“固定的”GeoPoints 并改为使用“mylist”ArrayList/Hashmap 的内容。

我是 Java/Android 编程的新手(<1 个月的经验),所以我希望这一切都有意义吗?我希望有人能够解释/举例说明我如何访问数据......我已经尝试实现各种措施,例如“Iterations”,但它还没有奏效。

最佳答案

如果我没有正确理解您的问题,您是在寻找一种迭代 ArrayList 的方法吗?如果是这样,这个例子应该让你开始:

Iterator itr = myList.iterator();
while (itr.hasNext()) {
HashMap<String, String> map = (HashMap<String, String>) itr.next();
String lat = (String) map.get("lat");
String lon = (String) map.get("long");
String id = (String) map.get("id");
Log.d(TAG, "Lat is: " +lat);
Log.d(TAG, "Lon is: " +lon);
Log.d(TAG, "ID is: " +id);
}

关于android - 如何访问(迭代?)另一个类中的 ArrayList/Hashmap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8751314/

25 4 0