0

ここでは、すべての eventLatitude、eventLongitude を arrayLists に格納しようとしています。

(画像を見てください)

私はこれまでに試しました:

 `ParseQuery<ParseObject> query = new ParseQuery<ParseObject>(
                        "GreenMarkers");
                 query.orderByDescending("_created_at");
                 try {
                        ob = query.find();
                    } catch (ParseException e) {
                        Log.e("Error", e.getMessage());
                        e.printStackTrace();
                    }
                 for (ParseObject greenmarkers : ob) {
                        eventLatitudeList.add((String) greenmarkers.get("eventLatitude"));
                        eventLongitudeList.add((String) greenmarkers.get("eventLongitude"));

                    }`

しかし、arraylistログに値を保存する際にエラーが発生して動作していません

   10-10 17:22:25.021: E/AndroidRuntime(21178): FATAL EXCEPTION: main
10-10 17:22:25.021: E/AndroidRuntime(21178): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.tukutane/com.tukutane.StartActivity}: java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.String
10-10 17:22:25.021: E/AndroidRuntime(21178):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2114)
10-10 17:22:25.021: E/AndroidRuntime(21178):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2139)
10-10 17:22:25.021: E/AndroidRuntime(21178):    at android.app.ActivityThread.access$700(ActivityThread.java:143)
10-10 17:22:25.021: E/AndroidRuntime(21178):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1241)
10-10 17:22:25.021: E/AndroidRuntime(21178):    at android.os.Handler.dispatchMessage(Handler.java:99)
10-10 17:22:25.021: E/AndroidRuntime(21178):    at android.os.Looper.loop(Looper.java:137)
10-10 17:22:25.021: E/AndroidRuntime(21178):    at android.app.ActivityThread.main(ActivityThread.java:4960)
10-10 17:22:25.021: E/AndroidRuntime(21178):    at java.lang.reflect.Method.invokeNative(Native Method)
10-10 17:22:25.021: E/AndroidRuntime(21178):    at java.lang.reflect.Method.invoke(Method.java:511)
10-10 17:22:25.021: E/AndroidRuntime(21178):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
10-10 17:22:25.021: E/AndroidRuntime(21178):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
10-10 17:22:25.021: E/AndroidRuntime(21178):    at dalvik.system.NativeStart.main(Native Method)
10-10 17:22:25.021: E/AndroidRuntime(21178): Caused by: java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.String
10-10 17:22:25.021: E/AndroidRuntime(21178):    at com.tukutane.StartActivity.onCreate(StartActivity.java:131)
10-10 17:22:25.021: E/AndroidRuntime(21178):    at android.app.Activity.performCreate(Activity.java:5203)
10-10 17:22:25.021: E/AndroidRuntime(21178):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
10-10 17:22:25.021: E/AndroidRuntime(21178):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2078)

すべての eventLatitude、eventLongitude 値を取得して保存する方法が間違っていると思います。助けてください。

4

2 に答える 2

2

double 値を String に変換してから、arraylist に格納します。または、緯度と経度のすべての double 値を格納するために、単純に double の arraylist を作成します。

例 1:

String lat = String.valueOf(doublevalue);
ArrayList<String> latlist = new ArrayList<String>();
latlist.add(lat);

例 2:

ArrayList<double> latlist = new ArrayList<double>();
latlist.add(doublevalue);
于 2013-10-10T12:03:19.580 に答える