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

데이터 피커 다이얼로그 관련 질문

0 추천

버튼을 누르면 다이얼로그로 데이터피커 표현까지는 구현이 되었는데요.

1. 데이터 피커가 현재 날짜로 열리지 않고 2019년 2월로 열립니다.. 초기값 설정은 어떻게 하나요?

2. 현재는 달력 UI로 표시되고 있는데 스피너로 바꾸려면 어떻게 하나요?

2. 년도, 월에 대한 값만 받아오고 싶은데요. 스피너로 변경 후 일에 대한 스피너는 미표시도 가능한가요?

//날짜 선택 버튼 이벤트 추가
        mBtnDate.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                new DatePickerDialog(getActivity(), mDateSetListener, mYear, mMonth, mDay).show();
            }
        });

 

//날짜 대화상자 리스너 부분
    DatePickerDialog.OnDateSetListener mDateSetListener =
        new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                // TODO Auto-generated method stub
                //사용자가 입력한 값을 가져온뒤
                mYear = year;
                mMonth = monthOfYear;
                mDay = dayOfMonth;

                //텍스트뷰의 값을 업데이트함
                mTxtDate.setText(String.format("%d. %d.", mYear, mMonth + 1));
            }
        };

 

sketchbook (310 포인트) 님이 2019년 3월 17일 질문

1개의 답변

0 추천
mYear, mMonth,mDay는 어디에서 값을 넣어주나요 ?
익명사용자 님이 2019년 3월 18일 답변
전체 소스입니다. 조언 부탁 드릴께요!

public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

        View v = inflater.inflate(R.layout.fragment_menu1, container, false);

        mTxtDate = (TextView)v.findViewById(R.id.dateSettingTextView);
        mBtnDate = (Button)v.findViewById(R.id.dateSettingButton);

        ////////// 날짜 설정 //////////
        //현재 날짜와 시간을 가져오기위한 Calendar 인스턴스 선언
        Calendar cal = new GregorianCalendar();

        mYear = cal.get(Calendar.YEAR);
        mMonth = cal.get(Calendar.MONTH);

        //화면에 텍스트뷰에 업데이트
        mTxtDate.setText(String.format("%d. %d", mYear, mMonth + 1));

        //날짜 선택 버튼 이벤트 추가
        mBtnDate.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                new DatePickerDialog(getActivity(), mDateSetListener, mYear, mMonth, mDay).show();
            }
        });

        return v;
    }

    //날짜 대화상자 리스너 부분
    DatePickerDialog.OnDateSetListener mDateSetListener =
        new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                // TODO Auto-generated method stub
                //사용자가 입력한 값을 가져온뒤
                mYear = year;
                mMonth = monthOfYear;
                mDay = dayOfMonth;

                //텍스트뷰의 값을 업데이트함
                mTxtDate.setText(String.format("%d. %d.", mYear, mMonth + 1));
            }
        };
mDay = cal.get(Calendar.DAY_OF_MONTH);
추가후 다시해보세요.
...