我有一个 Android 应用程序,我在其中单击一个按钮以获取当前位置。但是,该按钮正在调用一种方法来解决问题。所以现在我想从那个 onClickListener 方法中删除该方法,并在项目开始时单独调用它。我在onClickListener下的代码
binding.buttonConfirmPickup.setOnClickListener(view -> onButtonConfirmPickupClicked());
但每当我注释掉这行代码并调用 onButtonConfirmPickupClicked()
方法时,它就会抛出 nullpointerexception。
这是我的 Logcat。
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.mostain.taxi.rider/com.mostain.taxi.rider.activities.main.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.android.gms.maps.model.CameraPosition com.google.android.gms.maps.GoogleMap.getCameraPosition()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2817)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2895)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1616)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:6651)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:824)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.android.gms.maps.model.CameraPosition com.google.android.gms.maps.GoogleMap.getCameraPosition()' on a null object reference
at com.mostain.taxi.rider.activities.main.MainActivity.onButtonConfirmPickupClicked(MainActivity.java:472)
at com.mostain.taxi.rider.activities.main.MainActivity.onCreate(MainActivity.java:212)
at android.app.Activity.performCreate(Activity.java:7088)
at android.app.Activity.performCreate(Activity.java:7079)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1215)
那么为什么它在 onClick 方法下有效,但在它之外却不起作用?
最佳答案
OnMapReady(GoogleMap googleMap) OnMapReadyCallback 接口(interface)的方法为您提供 GoogleMap 对象。使用此对象初始化您的 map 对象,然后尝试调用 onButtonConfirmPickupClicked()。
关于java - 我正在从 onClickListener 中删除一个方法并单独调用它,然后它导致了问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59541507/