我有一个JSONArray,它可以获得多对经度和纬度,我想使用Intent将多个对传递到另一个类中,它之前工作正常,因为它只传递一对经度和纬度。
在想我是否仍然可以使用intent传递,或者我需要使用ArrayList在另一个类中逐个存储和调用?
请告知。感谢。
这是我的json数组:
{"longitude":"101.9366229","latitude":"1.236459"},{"longitude":"101.930041","latitude":"1.224119"}]}
我打算准备传递的代码:
Intent i = new Intent(this, BorrowerMap.class);
i.putExtra("username", username);
i.putExtra("longitude", Longitude);
i.putExtra("latitude", Latitude);
startActivity(i);
我的意图获取值的代码:
Bundle extras = getIntent().getExtras();
if (extras != null) {
username = extras.getString("username");
Longitude = extras.getDouble("longitude");
Latitude = extras.getDouble("latitude");
}
我希望能打印经度":#34; 101.9366229","纬度":" 1.236459,经度":" 101.930041""纬度":" 1.224119"在另一个班级中。
答案 0 :(得分:0)
您可以将json字符串传递给下一个类。
示例:
Intent i = new Intent(this, BorrowerMap.class);
i.putExtra("data", "{"longitude":"101.9366229","latitude":"1.236459"},{"longitude":"101.930041","latitude":"1.224119"}]}");
startActivity(i);
然后在BorrowerMap类中进行Json操作?
答案 1 :(得分:0)
试试这个,
用于发送数据,
ArrayList<HashMap<String, String>> list=new ArrayList<HashMap<String,String>>();
HashMap<String, String> h1=new HashMap<String, String>();
h1.put("username", username);
h1.put("longitude", longitude);
h1.put("latitude", latitude);
list.add(h1);
Intent next=new Intent(First.this,Second.class);
next.putExtra("list", list);
startActivity(next);
next.putExtra()是一个parceblevalue而不是字符串。
用于接收数据。
ArrayList<HashMap<String, String>> list=new ArrayList<HashMap<String,String>>();
list=(ArrayList<HashMap<String, String>>) getIntent().getExtras().get("list");
String uName=list.get(0).get("username");
String lat=list.get(0).get("longitude");
String long=list.get(0).get("latitude");
发送时将其转换为字符串。
String lat=latitude+"";
String lang=longitude+"";
并且在双重接收时。
double lat=Double.parseDouble(stringlat);
double lang=Double.parseDouble(stringlang);