【问题标题】:Passing an ArrayList of LatLng through intent通过 Intent 传递 LatLng 的 ArrayList
【发布时间】:2014-07-11 16:10:46
【问题描述】:

现在,我知道如何通过intent 发送StringsArrayList 发送:

Intent intent = new Intent(MainActivity.this, MapActivity.class);
intent.putStringArrayListExtra("list", list);
startActivity(intent);

然后收到:

Intent i = getIntent();  
ArrayList<String> list = i.getStringArrayListExtra("list");

但我想发送一个 LatLngs 的 ArrayList,如下所示:

Intent intent = new Intent(MainActivity.this, MapActivity.class);
intent.putLatLngArrayListExtra("listLatLng", listLatLng);
startActivity(intent);
\\pseudo code, obviously

然后:

Intent i = getIntent();  
ArrayList<String> list = i.getLatLngArrayListExtra("listLatLng");
\\pseudo code, obviously

关于如何做到这一点的任何想法?有什么简单的方法还是我必须修改一些东西?谢谢。

【问题讨论】:

  • 你要使用putParcelableArrayListExtra
  • 就这么简单,还是我还需要做些什么? Parceable 到底是什么?
  • 如果LatLng 没有扩展Parcelable(我相信确实如此),那么您将需要创建一个扩展 Parcelable 并保存值的类
  • 位置绝对是 pacrelable

标签: java android android-intent arraylist


【解决方案1】:

我会使用 android.location;它扩展了 Parcelable,您可以轻松地创建 Locations 并将其存储在从 lat 和 lon 值创建的 arrayList 中

Intent i = new Intent(MainActivity.this, MapActivity.class);
         i.putParcelableArrayListExtra(name, value);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-06
    • 2011-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多