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

조건문 관련 질문이 있습니다.

0 추천
private synchronized void hideProgressDlg() {

    if (mWaitDlg != null && mWaitDlg.isShowing()) {
        try {
            logger.debug("wds dismiss progress dialog");
            mWaitDlg.dismiss();
            mWaitDlg = null;
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

 

위의 코드에서 

mWaitDlg != null 

이 부분을 다이얼로그가 띄워져 있지 않을 때로 해석해도 되는건가요?

private ProgressDialog mWaitDlg = null;

즉 프로그래스다이얼로그가 띄워져있지 않을 때, 조건으로 보면 될까요?

mWaitDlg 는 클래스 자체인데 저거 자체가 null이 되는것이 일단 이해가 잘 안되고요.

null이 아닐 때는 안에 있는 변수나 메소드가 하나라도 변경되거나 쓰이면 null이 아니게 되는건지 궁금합니다.

 

 

익명사용자 님이 2019년 1월 7일 질문

1개의 답변

0 추천
mWaitDlg는 클래스가 아니고 다이얼로그 인스턴스를 가르키는 레퍼런스입니다.

null인 경우 가르키는 인스턴스가 없는 것 입니다.

mWaitDlg != null

는 가르키는 인스턴스가 없는지 검사하는 로직입니다.

mWaitDlg.isShowing()

가 다이얼로그 인스턴스가 현재 보여지는 상태인지 검사하는 로직입니다.
디자이너정 (42,810 포인트) 님이 2019년 1월 7일 답변
...