【发布时间】:2014-02-04 02:00:57
【问题描述】:
正如您在下面的代码中看到的那样,我尝试添加一个中性按钮来设置query_date 并关闭对话框。不幸的是,下面的这个不起作用:中性按钮根本不显示。
我想要一个名为“今天”的中间按钮并执行该操作。
public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setNeutralButton("Today", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
query_date = now_date;
dialog.dismiss();
}
});
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);
DatePickerDialog dialog = new DatePickerDialog(getActivity(), this, year, month, day);
dialog.getDatePicker().setMinDate(c.getTimeInMillis() );
return dialog;
}
@SuppressLint("SimpleDateFormat")
public void onDateSet(DatePicker view, int year, int month, int day) {
// Do something with the date chosen by the user
TimeZone tz = TimeZone.getDefault();
SimpleDateFormat sdfSource = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZZZZZ");
sdfSource.setTimeZone(tz);
Date date = new GregorianCalendar(year,month,day).getTime();
SimpleDateFormat sdfDestination = new SimpleDateFormat("EEE', 'd LLL");
query_date = sdfSource.format(date);
change_date_button.setText(sdfDestination.format(date));
load_more_bar.setVisibility(View.VISIBLE);
new get_events().execute();
}
}
我从 onClick 按钮侦听器调用 DialogFragment 的方式如下:
DialogFragment newFragment = new DatePickerFragment();
newFragment.show(getActivity().getFragmentManager(), "datePicker");
DatePickerDialog 片段中是否可以有一个中性按钮?如果有怎么办?
【问题讨论】:
标签: android android-dialog android-dialogfragment android-datepicker