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

커스텀 다이얼로그에서 액티비티로 값을 건내주는 방법?

0 추천

안녕하세요. 액티비티 A가 생성되면서 다이얼로그를 뛰워주고, 다이얼 로그 내의 seekbar를 조절해 값을 정한 다음 확인버튼을 누르면 액티비티 A에게 다시 넘겨주는 것을 구현하고 있습니다.

근데 다이얼로그 부분에서 context를 받아오고 이걸 활용하려고 해도 반응이 없습니다.

토스트 메시지를 받은 context에 띄워주려고 해도 동작을 하지않고, context의 멤버변수를 바꾸려고 해도 반응이 없더군요

@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);

    requestWindowFeature(Window.FEATURE_NO_TITLE);
    setContentView(R.layout.seekbar_dialog);
    bar = findViewById(R.id.seekBar_addword_wordnumber);
    barValue = findViewById(R.id.text_seekbar_wordnumber);
    okButton = findViewById(R.id.button_seekbar_ok);
    cancelButton = findViewById(R.id.button_seekbar_cancel);

    Toast.makeText(parentActivity,"체인지",Toast.LENGTH_LONG);
    cancelButton.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View view)
        {
            parentActivity.finish();
        }
    });
    okButton.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View view)
        {
            Log.d("hi",parentActivity.toString());
            parentActivity.setEditTextNum(Integer.parseInt(barValue.getText().toString()));
            parentActivity.notifyListViewDataChanged();
            Toast.makeText(parentActivity,"확인 버튼이 클릭됨",Toast.LENGTH_LONG);
            dismiss();
        }
    });
    bar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
        @Override
        public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
            barValue.setText(Integer.toString(i));
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
            ;
        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
            ;
        }
    });
}


public SeekbarDialog(Context context) {
    super(context);

    parentActivity = (AddWordGruopActivity) context;
}

위 코드가 다이얼로그 내의 코드입니다. setEditTextNum이 액티비티 A의 멤버변수 조정 함수입니다. 또 토스트 메시지를 띄워주려고 해도 토스트 메시지도 나오질 않는데 어떻게 해야 하나요?

익명사용자 님이 2018년 8월 21일 질문

1개의 답변

0 추천
public static 변수를 사용해보세요
열코 (890 포인트) 님이 2018년 8월 21일 답변
...