Học lập trình android - tạo DatePickerDialog lấy ngày tháng năm đẹp gọn gàng 4 tháng 4 tuần trước #4099

  • huonggiang123
  • huonggiang123's Avatar
  • Offline
  • New Member
  • Tổng số bài viết: 16
  • Điểm khen ngợi: 0
Trong android, việc nhập ngày tháng năm được sử dụng thường xuyên. Làm sao để tạo được 1 dialog có kiểu nhập thuận lợi ta làm như sau:



Bước 1: Khai báo một textview trong layout mà chúng ta muốn thêm.
<EditText
                    android:id="@+id/ngaysinh"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="@string/ngaysinh"
                    android:inputType="text"
                    android:maxLines="1"
                    android:singleLine="true"/>

Bước 2: Trong hàm oncreate ta thêm đoạn code sau để chèn sự kiện vào testview:
   DateEdit = (EditText) findViewById(R.id.ngaysinh);

        DateEdit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
             
               showTruitonDatePickerDialog(v);
            }
        });
        DateEdit.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View view, boolean hasFocus) {
                if (hasFocus) {
                    showTruitonDatePickerDialog(view);
               
                } else {
                 
                }
            }
        });

Bước 3: Ta thêm 1 hàm và 1 lớp ngay bên trong lớp activity như sau:
    public void showTruitonDatePickerDialog(View v)
    {
        DialogFragment newFragment = new DatePickerFragment();
        newFragment.show(getSupportFragmentManager(), "datePicker");
    }

    public static class DatePickerFragment extends DialogFragment implements
            DatePickerDialog.OnDateSetListener
    {

        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState)
        {
            // Use the current date as the default date in the picker
            final Calendar c = Calendar.getInstance();
            int year = c.get(Calendar.YEAR);
            int month = c.get(Calendar.MONTH);
            int day = c.get(Calendar.DAY_OF_MONTH);

            // Create a new instance of DatePickerDialog and return it
            return new DatePickerDialog(getActivity(),android.R.style.Theme_Holo_Light_Dialog_MinWidth
                    , this, year, month, day);
        }

        public void onDateSet(DatePicker view, int year, int month, int day) {
            // Do something with the date chosen by the user
            DateEdit.setText(day + "/" + (month + 1) + "/" + year);
        }
    }

Bây giờ bạn có thể test chương trình của mình!
Không cho phép Khách viếng thăm viết bài.

quang cao daklak

Bài đăng mới nhất