2017-03-16 10 views
0

私はこのエラーが表示される理由を理解していますが、修正には必要です。NullPointerException:仮想メソッドを呼び出そうとしています。 'ZXing ScannerView'

これはエラーです:

java.lang.RuntimeException: Unable to pause activity {com.example.adampatel.application/com.example.adampatel.application.Barcode}: java.lang.NullPointerException: Attempt to invoke virtual method 'void me.dm7.barcodescanner.zxing.ZXingScannerView.stopCamera()' on a null object reference 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1184) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1389) 
at java.lang.reflect.Method.invoke(Method.java:372) 
... 

    java.lang.NullPointerException: Attempt to invoke virtual method 'void me.dm7.barcodescanner.zxing.ZXingScannerView.stopCamera()' on a null object reference 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1184) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1389) 
at java.lang.reflect.Method.invoke(Method.java:372) 
... 

だから、この背後にある考え方は、ユーザーがバーコードをスキャンすることができ、その後EditTextフィールド内でそのバーコードの値を格納するアプリケーションです。 しかし、このアクティビティにはユーザーが利用できる他の機能があります。つまり、スキャナーを使用してバーコードをスキャンしてEditTextが空のままであるとは限りません。

エラーが発生したときです。 EditTextが空の場合、バーコードはスキャンされておらず、ユーザは以前の動作に戻る必要があります。

EditTextビューに値が入力されていないにもかかわらず、ユーザーが以前のアクティビティに移動できるようにする方法はありますか?

+0

です例外の原因となっているメソッドを実行しようとする前にオブジェクトがヌルかどうかをチェックします。 – user681574

+0

コードを投稿してください。 – user1766169

+0

明らかにヌル 'ZXingScannerView'で' stopCamera() 'を呼び出しているようです。ユーザが何かをスキャンしたときにのみ' ZXingScannerView'を作成しているのでしょうか? 'if(mZXingScannerView!= null)m ZXingScannerView.stopCamera()'のようなことができます。 –

答えて

0

あなたがstopCameraを(呼び出すために使用されているオブジェクト)は、例外をキャッチしたり、これまでnullオブジェクトが問題を引き起こしているところを返すか、メソッド呼び出しの周りにif文を入れて空のオブジェクトを作成するいずれかのヌル

関連する問題