日期之间的Android日历

时间:2016-05-15 11:12:46

标签: android date if-statement calendar dialog

我目前有一个允许用户选择日期的应用程序。当用户选择我的编辑文本框时,它会显示一个日历,当他们选择日期时,它会显示在编辑文本字段中。我想要做的是在选择特定日期时或在选择日期之间更改textview中的文本。

这是我的问题

目前,我的编辑文字只选择日期并显示日期,但不对信息做任何处理。

当用户选择每年6月5日至6月30日期间按下按钮且剩余时间打开时,我希望将textview更改为关闭。我如何将这个日历功能添加到我的应用程序中?

我当前的设置

我的日期对话

public class DateDialog extends DialogFragment implements DatePickerDialog.OnDateSetListener {


EditText txtDate;

public DateDialog(View view){

    txtDate = (EditText)view;




}

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {


    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);

    return new DatePickerDialog(getActivity(),this,year,month,day);

}

@Override
public void onDateSet(DatePicker view, int year, int month, int day) {

    String date=day+"-"+(month+1)+"-"+year;
    txtDate.setText(date);

}
}

//允许用户选择留在葡萄园的日期

        txtDate.setOnClickListener(new View.OnClickListener()

    {
        @Override
        public void onClick (View v){

            InputMethodManager im = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
            im.hideSoftInputFromWindow(txtDate.getWindowToken(), 0);


            DateDialog dialog = new DateDialog(v);
            FragmentTransaction ft = getActivity().getFragmentManager().beginTransaction();
            dialog.show(ft, "DatePicker");


            im.hideSoftInputFromWindow(txtDate.getWindowToken(), 0);

        }
    });

非常感谢有关该主题的任何帮助或指导。

1 个答案:

答案 0 :(得分:0)

您可以使用

String date=(month+1)+day;
int dateInt=Integer.parseValue(date);
if(dateInt<=0630 && dateInt>=0605)
  //Close
else
  //Open

我使用的方法

这里是我通常用来创建DatePickerDialog并将日期设置为我片段的textView的代码。在textView的onClickListener:

上使用它
DatePickerDialog dialog = new DatePickerDialog(getActivity().getContext(), new DatePickerDialog.OnDateSetListener() {
                    @Override
                    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                        String date=(monthOfYear+1)+dayOfMonth;
                        txtDate.setText(dayOfMonth+"/"+(monthOfYear+1)+"/"+year);
                        int dateInt = Integer.parseValue(date);
                        if(dateInt<=0630 && dateInt>=0605)
                          //Close
                        else
                          //Open

                    }
                },2016,05, 15);
                dialog.show();