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

타임피커 다이얼로그를 통한 임의 값 전달이 가능할까요?

0 추천

안녕하세요, 얼마전에도 타임피커 관련 질문을 했다가 어찌저찌 해결했는데

또 몇시간째 막힌 부분이 있어서요.

A 액티비티에서 버튼을 누르면 타임피커 다이얼로그를 호출해 시간을 입력하고,

해당 시간에 B 액티비티가 켜지도록 만들었는데,

이때 A의 값 일부를 B에게 전달하려고 하는데 잘 안풀리네요.

 

A.class

btnOK2.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        TimePickerFragment timePickerFragment = new TimePickerFragment();
        Intent intent = new Intent(getApplicationContext(), TimePickerFragment.class);
        intent.putExtra("name", Name);
        timePickerFragment.show(getSupportFragmentManager(), "TimePicker");

 

TimePickerFragment.class

@Override
    public void onTimeSet(TimePicker view, int hour, int minute) {
    Intent ALintent = new Intent(getContext(), alarmScreen.class);
    String Name = ALintent.getStringExtra("name");
    Toast.makeText(getContext(),Name, Toast.LENGTH_SHORT).show();
    PendingIntent operation = PendingIntent.getActivity(getContext(), 0, ALintent, 0);
    mAlarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), operation);
        }

 

코드입니다.

 

단순히 A에서 B를 호출하며 전달하는건 

Intent intent = getIntent();

와 putExtra, getExtra 로 간단하게 가능했는데

TimePickerFragment.class 에서는 저 intent 선언? 자체가 오류가 나네요.

( Cannot resolve method 'getIntent()' )

 

intent 로 값 전달하면 되겠지.. 하고 간단하게 생각 했었는데, 막상 해보니 감이 잘 안옵니다.

이것저것 해봐도 계속 NULL 값만 출력이 되는데, 혹시 간단한 힌트라도 구해볼 수 있을까요?

JSeed 님이 2018년 10월 18일 질문
2018년 10월 18일 수정

1개의 답변

0 추천
해결 했습니다...

어제는 정말 계속 찾아봐도 모르겠었는데 자고 일어나서 찾아보니 금방 풀렸네요.

A -> TimePickerFragment 는 Bundle 을 이용하면 되었고

TimPickerFragment -> B 는 다시 Intent 를 사용해 전달했습니다.
JSeed 님이 2018년 10월 19일 답변
...