我目前有一个允许用户选择日期的应用程序。当用户选择我的编辑文本框时,它会显示一个日历,当他们选择日期时,它会显示在编辑文本字段中。我想要做的是在选择特定日期时或在选择日期之间更改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);
}
});
非常感谢有关该主题的任何帮助或指导。
答案 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();