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

인텐트값 널 체크하는 방법..

0 추천
A클래스와 B클래스 두개가 있습니다.

A에 버튼1,2가 있는데 1,2 둘다 누르면 무조건  B클래스로 startactivity합니다.

근데 조건을 달리해서 띄워주려고 하는데요, A에서 버튼 1을 누르면 Strign test의 값을 intent.putExtra로 넘겨줘서 B가 시작할 때 textView에 띄우고,2를 누르면 그냥 B클래스를 띄우려고 하는데요.

B의  oncreate에서 분기점으로 나눠야 할거같은데 [if문]

Intent intent = getIntent();

String test2=intent.getExtras.getString("testValue",test); 이런식으로 값을 가져오는건 성공했는데..

만약 2를 눌러서 intent값이 없다면 어떤방법으로 나눠야 할까요 ...; 현재 2버튼을 누르고 B로가면 정상적으로 작동하는데 1로 가면 intent값이 null이라 에러가 뜹니다.

 

Intent intent=getIntent();

if(인텐트값이 널일때)//즉,1번 버튼누름

{

}

else//2번눌렀을 때

{

가져온 값을 setText함

}
anci (19,950 포인트) 님이 2014년 6월 27일 질문
anci님이 2014년 6월 27일 수정

1개의 답변

+1 추천
 
채택된 답변
2를 눌렀을때에는

String test2=intent.getExtras.getString("testValue","");

주시고 받는곳에서 텍스트길이가 0인지 체크하심.
nicehee (73,100 포인트) 님이 2014년 6월 27일 답변
anci님이 2014년 6월 27일 채택됨
댓글 감사합니다.
지금 제가 이해가 안가는게..2버튼 눌렀을 때
Intent intent = new Intent(A.this, B.class);
                String test="12345";
                intent.putExtra("test", test);
                startActivity(intent);
이런식으로 키값과 스트링값을 넘겨주었구요,
B클래스의 onCreate문에서 만약 2번형식이 아니라 1번처럼 값넘겨주는거 없이 그냥 들어가면 넘겨받은 값 자체가 null이라고 에러가 뜹니다..
+)
그냥 1버튼 누를 때에도 null값으로 값 전달시켜서 구분했습니다 ㅎ;
콜하는 형식은 공통된 방식으로 가는것이 코딩건강에 좋지요..
실수도  방지할수 있고
...