program tip

추가 설정 여부 확인

radiobox 2020. 12. 6. 21:25
반응형

추가 설정 여부 확인


활동을 시작할 때 여분이 전달되었는지 확인하는 방법이 있습니까?

나는 ( onCreate()활동에서) 와 같은 일을하고 싶습니다 .

    Bundle extras = getIntent().getExtras();
    String extraStr = extras.getString("extra");

    if (extraStr == null) {
        extraStr = "extra not set";
    }

그러나 이것은 java.lang.NullPointerException.

감사합니다.


텐트에 Intent.hasExtra(String name)추가 name가 전달 되었는지 확인 하려면을 사용하십시오 .

예:

Intent intent = getIntent();

if (intent.hasExtra("bookUrl")) {
    bookUrl = b.getString("bookUrl");
} else {
   // Do something else
}

또한 인 Intent.getStringExtra(String name)텐트에 직접 사용 하여 NullPointerException여분이 전달되지 않은 경우 를 처리하십시오 .


음, 비슷한 문제가있었습니다. 제 경우에는 bundle.getString () 이 null과 같은지 확인할 때 null 포인트 예외가 발생했습니다 .

내 경우에 내가 어떻게 해결했는지는 다음과 같습니다.

Intent intent = getIntent();        
    if(intent.hasExtra("nomeUsuario")){
        bd = getIntent().getExtras();
        if(!bd.getString("nomeUsuario").equals(null)){
            nomeUsuario = bd.getString("nomeUsuario");
        }
    }

if (this.getIntent().getExtras() != null && this.getIntent().getExtras().containsKey("yourKey")) {
   // intent is not null and your key is not null
}

귀하의 경우에는이 솔루션을 사용하겠습니다.

String extraStr;
    try {
        extraStr = getIntent().getExtras().getString("extra");
    } catch (NullPointerException e ) {
        extraStr = "something_else";
    }

나는 당신이 엑스트라를 확인할 필요가 있다고 생각합니다! = null

Bundle extras = getIntent().getExtras();
   if (extras != null) {
        String extraStr = extras.getString("extra");
    }else {
        extraStr = "extra not set";
    }

참고 URL : https://stackoverflow.com/questions/8255618/check-if-extras-are-set-or-not

반응형