尝试在空对象引用 finishComposingText() 上调用接口方法
Attempt to invoke interface method on a null object reference finishComposingText()
我在 nexus 6 上 运行 robotium 并收到以下错误
java.lang.NullPointerException: Attempt to invoke interface method 'boolean android.view.inputmethod.InputConnection.finishComposingText()' on a null object reference
at android.view.inputmethod.InputConnectionWrapper.finishComposingText(InputConnectionWrapper.java:78)
at android.view.inputmethod.InputMethodManager.reportFinishInputConnection(InputMethodManager.java:859)
at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:3253)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
有问题的行是:
solo.enterText((android.widget.EditText) solo.getView("amount"), "11.11");
我已验证该字段存在,不确定还有什么可能导致该问题。任何帮助将不胜感激
看起来你弄错了 EditText,因为你确认返回的实例是 EditText。
android.widget.EditText editText= (android.widget.EditText)solo.getView("amount");
// validate here that you got right text by any method, for example getText()
solo.enterText(editText, "11.11");
如果这个不起作用,您可以使用直接访问而无需独奏:
editText.setText("11.11");
这发生在我身上是因为启用了 Advanced Profiling 选项。
要禁用高级分析,请按照以下步骤操作:
1.Select 运行 > 编辑配置。
2.Select 您的应用程序模块位于左侧窗格中。
3.Click 分析选项卡,然后取消选中启用高级分析。
我在 nexus 6 上 运行 robotium 并收到以下错误
java.lang.NullPointerException: Attempt to invoke interface method 'boolean android.view.inputmethod.InputConnection.finishComposingText()' on a null object reference
at android.view.inputmethod.InputConnectionWrapper.finishComposingText(InputConnectionWrapper.java:78)
at android.view.inputmethod.InputMethodManager.reportFinishInputConnection(InputMethodManager.java:859)
at android.view.ViewRootImpl$ViewRootHandler.handleMessage(ViewRootImpl.java:3253)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
有问题的行是:
solo.enterText((android.widget.EditText) solo.getView("amount"), "11.11");
我已验证该字段存在,不确定还有什么可能导致该问题。任何帮助将不胜感激
看起来你弄错了 EditText,因为你确认返回的实例是 EditText。
android.widget.EditText editText= (android.widget.EditText)solo.getView("amount");
// validate here that you got right text by any method, for example getText()
solo.enterText(editText, "11.11");
如果这个不起作用,您可以使用直接访问而无需独奏:
editText.setText("11.11");
这发生在我身上是因为启用了 Advanced Profiling 选项。 要禁用高级分析,请按照以下步骤操作:
1.Select 运行 > 编辑配置。 2.Select 您的应用程序模块位于左侧窗格中。 3.Click 分析选项卡,然后取消选中启用高级分析。