android onActivityResult:尝试在空对象引用上调用虚拟方法 [英] android onActivityResult: Attempt to invoke virtual method on a null object reference

查看:127
本文介绍了android onActivityResult:尝试在空对象引用上调用虚拟方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

im为cordova android开发插件.它会打开一个自定义活动,然后将数据集返回给插件.

im developing plugin for cordova android. it open up a custom activity and return sets of data back to the plugin.

所有活动都运行良好.但是活动结束后,它崩溃了,并给了我这个错误:

all things are running well on the activity. but when the activity finished, it crashed and give me this error:

Attempt to invoke virtual method 'void org.apache.cordova.CallbackContext.success(java.lang.String)' on a null object reference
E/AndroidRuntime( 2697):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3539)
E/AndroidRuntime( 2697):    at android.app.ActivityThread.handleSendResult(ActivityThread.java:3582)
E/AndroidRuntime( 2697):    at android.app.ActivityThread.access$1300(ActivityThread.java:144)
E/AndroidRuntime( 2697):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1327)
E/AndroidRuntime( 2697):    at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime( 2697):    at android.os.Looper.loop(Looper.java:135)
E/AndroidRuntime( 2697):    at android.app.ActivityThread.main(ActivityThread.java:5221)
E/AndroidRuntime( 2697):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime( 2697):    at java.lang.reflect.Method.invoke(Method.java:372)
E/AndroidRuntime( 2697):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
E/AndroidRuntime( 2697):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
E/AndroidRuntime( 2697): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void org.apache.cordova.CallbackContext.success(java.lang.String)' on a null object reference
E/AndroidRuntime( 2697):    at com.faiz.faizOk.onActivityResult(faizOk.java:147)
E/AndroidRuntime( 2697):    at org.apache.cordova.CordovaInterfaceImpl.onActivityResult(CordovaInterfaceImpl.java:151)
E/AndroidRuntime( 2697):    at org.apache.cordova.CordovaActivity.onActivityResult(CordovaActivity.java:348)
E/AndroidRuntime( 2697):    at android.app.Activity.dispatchActivityResult(Activity.java:6139)
E/AndroidRuntime( 2697):    at android.app.ActivityThread.deliverResults(ActivityThread.java:3535)
E/AndroidRuntime( 2697):    
... 10 more

这是我的android onActivityResult 方法

this is my android onActivityResult method

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    System.out.println("finished native activity proceess...");

    String message = " :finished activity from native: ";
    callbackContext.success(message);
}

推荐答案

您必须初始化回调上下文.可能是您已声明了回调上下文,但尚未初始化为:1. Callbackcontext myvar;Myvar.mymethod

You have to initialise callback context .may be you have declared it but haven't initialised as in : 1. Callbackcontext myvar; Myvar.mymethod

这将抛出空指针,因为已声明但未初始化callbackcontext.2.要解决上述问题,您必须进行初始化.

This will throw a null pointer because callbackcontext is declared but not initialized. 2. To fix the above you have to initialize.

Callbackcontext myvar =新的callbackcontext ;;Myvar.mymethod

Callbackcontext myvar =new callbackcontext;; Myvar.mymethod

这篇关于android onActivityResult:尝试在空对象引用上调用虚拟方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆