【问题标题】:How to get the value from DatePicker on Android如何从 Android 上的 DatePicker 获取值
【发布时间】:2016-06-27 08:03:24
【问题描述】:

我有这个 DatePicker 代码,我可以看到 DatePicker 并选择一个日期,但没有任何反应。如何获取日期并使用它,可能会显示给用户? 这是我的 DatePicker 代码:

private EditText et_tarih;
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    et_tarih = (EditText) view.findViewById(R.id.et_tarih);


    if(et_tarih != null)
    {
        et_tarih.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if(event.getAction() == MotionEvent.ACTION_UP){

                    DialogFragment newFragment = new IsActivity.DatePickerFragment();
                    newFragment.show(getFragmentManager(), "datePicker");
                    return true;
                }
                return false;
            }
        });
    }

}

【问题讨论】:

    标签: android datepicker android-datepicker android-date


    【解决方案1】:

    选择日期代码

    //         **ON Create**
    
        edpicker.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
    
                DialogFragment newFragment = new SelectDateFragment();
                newFragment.show(getFragmentManager(), "DatePicker");
    
    }
        });
    
    
    
      //In class call this
    
     public static class SelectDateFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
    
        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
            final Calendar calendar = Calendar.getInstance();
            int yy = calendar.get(Calendar.YEAR);
            int mm = calendar.get(Calendar.MONTH);
            int dd = calendar.get(Calendar.DAY_OF_MONTH);
            return new DatePickerDialog(getActivity(), this, yy, mm, dd);
        }
    
        public void onDateSet(DatePicker view, int yy, int mm, int dd) {
            populateSetDate(yy, mm+1, dd);
        }
        public void populateSetDate(int year, int month, int day) {
    
    
            edpicker.setText(day+"-"+month+"-"+year);
        }
    
    }
    

    【讨论】:

      【解决方案2】:

      试试这个代码

         edpicker.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View view) {
      
             showDialog(Date_DIALOG_ID);}});
      
          // Register Date Picker Dialog Listener
      private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener(){
      
          //callback received when the user sets the date in the datePickerDialog
          @Override
          public void onDateSet(DatePicker view, int yearSelected, int monthOfYear, int dayOfMonth) {
              year=yearSelected;
              month=monthOfYear
              day=dayOfMonth;
              // Set the selected Date on Text
              dateText.setText(year+"-"+month+"-"+day);
          }
      };
      
      // this method automatically gets called when you call ShowDialog() method
      protected Dialog onCreateDialog(int id)
      {
          switch (id) {
              case Date_DIALOG_ID:
                  return new DatePickerDialog(this, mDateSetListener, myear, mmonth, mday);
          }
          return null;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-10-15
        • 2019-09-26
        • 1970-01-01
        • 2021-06-16
        • 1970-01-01
        • 2016-03-02
        • 1970-01-01
        • 2017-05-17
        相关资源
        最近更新 更多