반응형
추가 설정 여부 확인
활동을 시작할 때 여분이 전달되었는지 확인하는 방법이 있습니까?
나는 ( 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
반응형
'program tip' 카테고리의 다른 글
Swift에서 Double 및 Float의 최대 값을 찾는 방법 (0) | 2020.12.06 |
---|---|
브라우저 개발자 도구를 비활성화하는 방법은 무엇입니까? (0) | 2020.12.06 |
퍼블릭 IP를 통해 EC2 인스턴스의 사이트에 액세스 할 수 없습니다. (0) | 2020.12.06 |
Python : MySQLdb 및 "라이브러리가로드되지 않음 : libmysqlclient.16.dylib" (0) | 2020.12.06 |
명령 줄에서 iOS 시뮬레이터를 어떻게 재설정 할 수 있습니까? (0) | 2020.12.06 |