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

Intent putExtra, getExtra 관련해서 질문드립니다 [closed]

0 추천

메인 액티비티의 데이터를 프래그먼트로 전달(bundle 사용)하고, 

그 프래그먼트에서 두번째 액티비티로 다시 전달(intent 사용)하게 만들었습니다.

 

메인과 프래그먼트 간에는 정상적으로 작동을 하는데,

프래그먼트와 두번째 액티비티 사이에서 문제가 발생하는데요.

메인의 데이터가 변경되면 프래그먼트에서는 제대로 변경된 값을 가지고 있는데,

두번째 액티비티에서는 계속 가장 처음 전달받은 값만 출력을 하더라구요.

 

메인 액티비티에서 name을 번들에 담는 부분입니다.

Bundle bundle = new Bundle();
bundle.putString("name", LocationName[0]);
timePickerFragment.show(getSupportFragmentManager(), "TimePicker");

 

프래그먼트(타임피커)에서 name 을 받아오고, 

String Name = getArguments().getString("name");

다시 인텐트로 담는 부분입니다.

아래는 알람 관련인데 관련이 있는지는 잘 모르겠습니다..

Intent intent = new Intent(getActivity(), secondActivity.class);
intent.putExtra("name", Name);
PendingIntent operation = PendingIntent.getActivity(getContext(), 0, intent, 0);
mAlarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), operation);

 

두번째 액티비티에서 전달받는 부분입니다.

Intent intent = getIntent();
String LocationName = intent.getStringExtra("name");

 

버튼을 누를때마다 세 코드가 전부 반복이 되어

메인의 데이터가 두번째 액티비티에 출력 되게 하려고 하는데

프래그먼트에서 메인으로부터 데이터를 받고나서 인텐트에 담아주질 못하는 것인지

두번째 액티비티가 새로운 값을 받아오지 못하는 것인지 잘 모르겠습니다.

 

 

질문을 종료한 이유: 해결했습니다
익명사용자 님이 2018년 10월 20일 질문
2018년 10월 22일 closed

1개의 답변

0 추천
PendingIntent operation = PendingIntent.getActivity(getContext(), 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);

프래그먼트쪽에 PendingIntent.FLAG_UPDATE_CURRENT 를 붙여주어 해결했습니다.

 

익명사용자 님이 2018년 10월 21일 답변
...