2015-01-21 22 views
9

Tôi đang chạy robotium trên một mối quan hệ 6 và nhận được lỗi sauCố gắng để gọi phương thức giao diện trên một tài liệu tham khảo đối tượng null finishComposingText()

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) 

Các dòng trong câu hỏi là:

 solo.enterText((android.widget.EditText) solo.getView("amount"), "11.11"); 

tôi đã xác minh rằng trường tồn tại, không chắc chắn điều gì khác có thể gây ra sự cố. Bất kỳ trợ giúp nào cũng sẽ được đánh giá là

+3

Vâng, tôi muốn bắt đầu * * bằng cách chiết 'EditText' phần như là một biến địa phương, vì vậy bạn có thể * chắc chắn * rằng bạn đã quản lý để có được nó (vì vậy nó không phải là một giá trị 'null') trước khi bạn chuyển nó đến phương thức ... –

+0

solo.getView đang trả về một thể hiện của EditText – FriendlyMikhail

+0

bất kỳ giải pháp nào? i m chạy vào cùng một vấn đề ... – chaitanyad

Trả lời

2

Có vẻ như bạn nhận được sai EditText vì bạn đã xác nhận rằng trường hợp trả về là 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"); 

và nếu điều này không làm việc bạn có thể sử dụng truy cập trực tiếp mà không độc tấu:

editText.setText("11.11"); 
+0

im sẽ chấp nhận điều này. Tôi đã có vấn đề từ nhiều năm trước và không thể nhớ những gì tôi đã làm để sửa chữa nó. Cảm ơn bạn đã trả lời – FriendlyMikhail

Các vấn đề liên quan

 Các vấn đề liên quan