마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 에러에 대한 질문입니다.

0 추천

안녕하세요~ 날씨 더운데 화이팅 하시구!

바로 질문을 하겠습니다

java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.String java.lang.CharSequence.toString()' on a null object reference

이라는 에러가 발생을 했습니다.

if (mNode.getText().toString() == null) return;

이 부분에서 발생을 하였는데요.

저 스트링 값을 찍어내면 아주 잘나옵니다..

Log.d("아이디에 들은 값", "" + mNode.getText().toString());

이런식으로 저 if 문 안에 찍었는데요

엄청 잘찍히는데 에러라고 나옵니다..

7-26 11:23:37.154 30098-30098/com.***.***.**** D/아이디에 들은 값: stars0717
07-26 11:23:37.179 30098-30098/com.***.***.**** D/AndroidRuntime: Shutting down VM

AccessibilityService에서 사용중이구여

build 25, compile 25, min 19, target 25

에서 테스트중입니다.

어느점이 문제에 걸리는걸까요?ㅠㅠ

개발왕이되고싶은 (1,110 포인트) 님이 2017년 7월 26일 질문

1개의 답변

0 추천
 
채택된 답변
mNode가 Null인지를 체크해야 합니다.

mNode가 Null Object인데, getText()나 toString을 하는 순간 오류가 나는 것입니다.

어떤 이유인지는 특정한 상황에서만 오류가 나거나

mNode가 정의되지 않았거나,

mNode에 Null을 한 적이 있다면, 그때 오류가 날 것으로 예상이 되네요.
Will Kim (43,170 포인트) 님이 2017년 7월 26일 답변
개발왕이되고싶은님이 2017년 7월 27일 채택됨
혹시 어쩔수 없이 처음에 널인데
예외시키고 계속 진행하는 방법은
try문으로 하는수밖에 없나요~?
if (mNode == null) 이면 스킵하거나,
if (mNode != null) 일때만 코드를 실행하거나 하는 거죠.
...