首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Android中在NullPointerException中添加标记结果

在Android中在NullPointerException中添加标记结果
EN

Stack Overflow用户
提问于 2013-11-11 03:12:22
回答 1查看 736关注 0票数 1

这是我项目的一部分。我从上一堂课上得到了经度和纬度的ArrayList。如果没有标记代码,应用程序将正常工作,但当我添加标记代码时,应用程序将因NullPointerException而终止。有人能告诉我为什么吗?

代码语言:javascript
运行
复制
package xyz;

import...

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public class Route extends Activity {
GoogleMap map;
PolylineOptions polylineOptions;
ArrayList<Double> longitude,latitude;


@SuppressWarnings("unchecked")
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.route);
    map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();

    double s_latitude = latitude.get(0);
    double s_longitude=longitude.get(0);


    /* If I add this line the app is terminating.
      map.addMarker(new MarkerOptions()
     .position(new LatLng(s_latitude,s_longitude))
    .title("Start Point"));
    */

    longitude = (ArrayList<Double>) getIntent().getSerializableExtra("Longitude");
    latitude = (ArrayList<Double>) getIntent().getSerializableExtra("Latitude");

    CameraUpdate center=
            CameraUpdateFactory.newLatLng(new LatLng(latitude.get(0),
                    longitude.get(0)));
        CameraUpdate zoom=CameraUpdateFactory.zoomTo(15);

        map.moveCamera(center);
        map.animateCamera(zoom);



        polylineOptions=new PolylineOptions();

   for(int i=0;i<latitude.size();i=i+5)
   {
       polylineOptions.add(new LatLng(latitude.get(i), longitude.get(i)));
   }

       polylineOptions.color(Color.BLUE);
       polylineOptions.width(10);

        polylineOptions.geodesic(false);


        map.addPolyline(polylineOptions);


}
}

这是我的LogCat:

代码语言:javascript
运行
复制
11-10 21:15:14.027: E/AndroidRuntime(25929): FATAL EXCEPTION: main
11-10 21:15:14.027: E/AndroidRuntime(25929): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sensordatacollector.smartrac/com.sensordatacollector.smartrac.Route}: java.lang.NullPointerException
11-10 21:15:14.027: E/AndroidRuntime(25929): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2332)
11-10 21:15:14.027: E/AndroidRuntime(25929): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2368)
11-10 21:15:14.027: E/AndroidRuntime(25929): at android.app.ActivityThread.access$600(ActivityThread.java:151)
11-10 21:15:14.027: E/AndroidRuntime(25929): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1330)
11-10 21:15:14.027: E/AndroidRuntime(25929): at android.os.Handler.dispatchMessage(Handler.java:99)
11-10 21:15:14.027: E/AndroidRuntime(25929): at android.os.Looper.loop(Looper.java:155)
11-10 21:15:14.027: E/AndroidRuntime(25929): at android.app.ActivityThread.main(ActivityThread.java:5536)
11-10 21:15:14.027: E/AndroidRuntime(25929): at java.lang.reflect.Method.invokeNative(Native Method)
11-10 21:15:14.027: E/AndroidRuntime(25929): at java.lang.reflect.Method.invoke(Method.java:511)
11-10 21:15:14.027: E/AndroidRuntime(25929): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1074)
11-10 21:15:14.027: E/AndroidRuntime(25929): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:841)
11-10 21:15:14.027: E/AndroidRuntime(25929): at dalvik.system.NativeStart.main(Native Method)
11-10 21:15:14.027: E/AndroidRuntime(25929): Caused by: java.lang.NullPointerException
11-10 21:15:14.027: E/AndroidRuntime(25929): at com.sensordatacollector.smartrac.Route.onCreate(Route.java:36)
11-10 21:15:14.027: E/AndroidRuntime(25929): at android.app.Activity.performCreate(Activity.java:5066)
11-10 21:15:14.027: E/AndroidRuntime(25929): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1102)
11-10 21:15:14.027: E/AndroidRuntime(25929): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2288)
11-10 21:15:14.027: E/AndroidRuntime(25929): ... 11 more
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-11 03:31:47

发现了我的错误。

代码语言:javascript
运行
复制
double s_latitude = latitude.get(0);
double s_longitude=longitude.get(0);

longitude = (ArrayList<Double>) getIntent().getSerializableExtra("Longitude");
latitude = (ArrayList<Double>) getIntent().getSerializableExtra("Latitude");

应该是另一种顺序。

代码语言:javascript
运行
复制
longitude = (ArrayList<Double>) getIntent().getSerializableExtra("Longitude");
latitude = (ArrayList<Double>) getIntent().getSerializableExtra("Latitude");

double s_latitude = latitude.get(0);
double s_longitude=longitude.get(0);

愚蠢的错误!谢谢各位!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19898246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档