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

xml 클래스 사용시 발생하는 이벤트 값 가져오기

0 추천
import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.DatePicker;
import android.widget.TextView;

import java.util.Calendar;

public class DateDisplayPicker extends TextView implements DatePickerDialog.OnDateSetListener{

    private Context _context;

    public DateDisplayPicker(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        _context = context;
    }

    public DateDisplayPicker(Context context, AttributeSet attrs) {
        super(context, attrs);
        _context = context;
        setAttributes();
    }

    public DateDisplayPicker(Context context) {
        super(context);
        _context = context;
        setAttributes();
    }

    private void setAttributes() {
        setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                showDateDialog();
            }
        });
    }

    private void showDateDialog() {
        final Calendar c = Calendar.getInstance();
//        DatePickerDialog dp = new DatePickerDialog(_context, this, c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH));
        DatePickerDialog dp = new DatePickerDialog(_context, AlertDialog.THEME_HOLO_DARK, this, c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH));
        dp.show();
    }


    @Override
    public void onDateSet(DatePicker view, int year, int monthOfYear,
                          int dayOfMonth) {
        setText(String.format("%s/%s/%s",year, (monthOfYear+1), dayOfMonth));
    }
}
이렇게 만든 클래스를 xml에서 바로 사용할려고하는데 ..
선택된 값을 가져올 방법이 있나요?? 안되면 어떻게 해야되나요 ??
초보이무니다 (470 포인트) 님이 2016년 3월 17일 질문

1개의 답변

+1 추천
 
채택된 답변
흔히 버튼 만들면 btn.setOnClickListener(onClickListener); 이런식으로 리스너를 연결해서 사용하잔아요

이런식으로 저 커스텀 UI의 이벤트를 전달해고 받을수 있는 interface를 구성하면 될꺼 같습니다.
익명사용자 님이 2016년 3월 17일 답변
초보이무니다님이 2016년 3월 17일 채택됨
인터페이스 .... 오 ..~ 괜찮은 방법 같습니다.. 그걸 생각 못했네요 .. callBack 인터페이스 사용해서 하면 될꺼같네요 감사합니다. ~
...