【发布时间】:2016-11-09 02:23:53
【问题描述】:
我多次尝试在我的日期选择器对话框中显示当前日期,但都失败了。 它显示 1/1/1990 。 我已经从堆栈溢出中得到了一些答案,但不幸的是这些对我不起作用。 谁能解释一下在日期选择器对话框中显示当前日期的代码。 谢谢。
【问题讨论】:
-
您可以将日期选择器中的mindate设置为当前日期
-
检查我的答案
标签: android datepicker
我多次尝试在我的日期选择器对话框中显示当前日期,但都失败了。 它显示 1/1/1990 。 我已经从堆栈溢出中得到了一些答案,但不幸的是这些对我不起作用。 谁能解释一下在日期选择器对话框中显示当前日期的代码。 谢谢。
【问题讨论】:
标签: android datepicker
//It may help you.
public class SelectDateFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
Calendar calendar;
@NonNull
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
calendar = Calendar.getInstance();
calendar.setTimeZone(TimeZone.getTimeZone("UTC"));
int yy = calendar.get(Calendar.YEAR);
int mm = calendar.get(Calendar.MONTH);
int dd = calendar.get(Calendar.DAY_OF_MONTH);
today = calendar.getTime();
return new DatePickerDialog(getActivity(), this, yy, mm, dd);
}
public void onDateSet(DatePicker view, int yy, int mm, int dd) {
System.out.print("Current_time::::"+calendar.getTime());
populateSetDate(yy, mm, dd);
}
public void populateSetDate(int year, int month, int day) {
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month);
calendar.set(Calendar.DAY_OF_MONTH, day);
pick = calendar.getTime();
@SuppressLint("SimpleDateFormat") SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = df.format(calendar.getTime());
txtview.setText(formattedDate);
}
}
【讨论】:
你可以使用
new Date().getDate();
但是既然已经弃用了,就用这个吧,
DatePicker datePicker = (DatePicker) findViewById(R.id.datePick);
datePicker.setMinDate(c.DAY_OF_MONTH);
【讨论】:
试试这个方法就行了
public class MainActivity extends Activity {
private DatePicker datePicker;
private Calendar calendar;
private TextView dateView;
private int year, month, day;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dateView = (TextView) findViewById(R.id.textView3);
calendar = Calendar.getInstance();
year = calendar.get(Calendar.YEAR);
month = calendar.get(Calendar.MONTH);
day = calendar.get(Calendar.DAY_OF_MONTH);
showDate(year, month+1, day);
}
@SuppressWarnings("deprecation")
public void setDate(View view) {
showDialog(999);
Toast.makeText(getApplicationContext(), "ca",
Toast.LENGTH_SHORT)
.show();
}
@Override
protected Dialog onCreateDialog(int id) {
// TODO Auto-generated method stub
if (id == 999) {
return new DatePickerDialog(this,
myDateListener, year, month, day);
}
return null;
}
private DatePickerDialog.OnDateSetListener myDateListener = new
DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker arg0,
int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
// arg1 = year
// arg2 = month
// arg3 = day
showDate(arg1, arg2+1, arg3);
}
};
private void showDate(int year, int month, int day) {
dateView.setText(new StringBuilder().append(day).append("/")
.append(month).append("/").append(year));
}
}
http://www.tutorialspoint.com/android/android_datepicker_control.htm
【讨论】: