我利用圖書館從https://github.com/afollestad/material-dialogs 定製的DatePicker我使用該庫,因爲我需要改變顏色等Android的 - 的DatePicker如何保持設置當前日期
而且我的代碼現在看起來像這樣:
public class EditProfileActivity extends ActionBarActivity {
private TextView birthdate;
private int mYear, mMonth, mDay;
private DatePicker datePicker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_editprofile);
birthdate = (Button) findViewById(R.id.birthdateTextView);
birthdate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setCustomDate();
}
});
/* final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH); */
}
public void setCustomDate() {
new MaterialDialog.Builder(this)
.title(R.string.pilih_tanggal)
.customView(R.layout.datepicker_layout, true)
.positiveText(R.string.ok_caps)
.callback(new MaterialDialog.ButtonCallback() {
@Override
public void onPositive(final MaterialDialog dialog) {
super.onPositive(dialog);
datePicker = (DatePicker) dialog.findViewById(R.id.datePicker1);
datePicker.init(datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth(), new DatePicker.OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
}
});
birthdate.setText(new StringBuilder()
.append(datePicker.getDayOfMonth())
.append("").append(datePicker.getMonth())
.append("-").append(datePicker.getYear()));
}
})
.positiveColorRes(R.color.ColorPrimary)
.negativeText(R.string.cancel)
.negativeColorRes(R.color.ColorPrimary)
.show();
}
所以,我成功地將TextView作爲DatePicker設置的當前日期,但是問題在於當我再次點擊TextView時,日期會返回上次日期(默認)。
以上是當我要去挑選日期。 以下是當我成功地將文本選定日期。
但可悲的是,當我再次點擊的TextView,日期回默認值,而不是我選擇的日期。
可能有人給我一個方向,以解決?我所知道的,到目前爲止是使用
OnDateSetListener
但如何做到這一點與圖書館也?