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

Intent로 int 값 전달이 안됩니다 [closed]

+1 추천

데이터를 Intent를 이용해 다른 액티비티로 값만 전달해주고 전달해 줄 때 그 Activity를 굳이 띄울 이유가 없어

Flag = 22;
Intent intent = new Intent(MainActivity.this, BookMark.class);
intent.putExtra("flag", Flag);
 
이렇게 메인 액티비티에서 던져주면,
 
Intent intent=getIntent();
Flag = intent.getIntExtra("flag", 1);
 
이렇게 받거든요! getIntExtra에 두번째 파라미터는 Default Value로 인텐트로 값이 전달 되었을 시 해당 key의 값이 null 일때 셋팅해주는 값으로 알고 있습니다. 
 
그런데 받아온 Flag를 찍어보면 항상 1입니다. 메인에서 값 던져줄때는 분명 22를 찍고 넘어가는데 말입니다.
왜이런거죠????
질문을 종료한 이유: 답변들 대로 제가 startActivity를 하지 않았었네요.........그리고 intent를 사용하지 않고 db를 사용하여 해결하였습니다 부끄럽네요ㅠㅠ..감사합니다
뮤뮤 (770 포인트) 님이 2014년 6월 18일 질문
뮤뮤님이 2014년 6월 19일 closed

6개의 답변

0 추천
"그 Activity를 굳이 띄울 이유가 없어"

이게 무슨 말씀이신지?

설마 startActivity를 안한 것은 아니겠지요?
익명사용자 님이 2014년 6월 19일 답변
0 추천
Activity를 띄울 필요가없는데 값을 왜 넘기는건가요;;;
극마 (1,340 포인트) 님이 2014년 6월 19일 답변
0 추천
intent 값을 어디서 받아오는 건가요;;;
YeonMin (17,860 포인트) 님이 2014년 6월 19일 답변
0 추천
제가 이해를 못하는건지..굳이 activity를 새로 띄울 필요가 없다면 intent말고 다른 방법으로 값을 전달해주면 되지 않나요?
anci (19,950 포인트) 님이 2014년 6월 19일 답변
0 추천
구지 Activity를 띄울 필요가 없다면, 사용자에게 화면을 보여주지 않아도 될 것이라 생각되는데요.

그럼 따로 Class를 만들어서 작업을 하도록 해야 할 것으로 보입니다.

Intent를 사용하여 값을 주기만 해서는 전달이 되지 않고, Activity를 실행해야 값을 받을 수 있습니다.
인연 (31,880 포인트) 님이 2014년 6월 19일 답변
0 추천

Flag = intent.getIntExtra("flag", 1);

이건 키값으로 앞 파라미터 격인 키에 해당하는 value가 없을경우 뒷파라미터인 1을 리턴해주는 형식의

api인데요.  flag가 없다는 말이겠죠? 항상 1이라는 것은!!

 

그런데 저 intent는 인텐트 필터를 통해서 전달이되고 그것은 startActivity 메소드 파라미터 인자로 전달이 되는데요.  선언만 해놓고 전달은 안하고 받기만 하려고 하시는것 같네요.

쭈쭈총각 (17,750 포인트) 님이 2014년 6월 19일 답변
...