当前位置: 代码迷 >> Android >> 请问关于DatePickerDialog的有关问题
  详细解决方案

请问关于DatePickerDialog的有关问题

热度:32   发布时间:2016-04-28 07:30:24.0
请教关于DatePickerDialog的问题
我想用日期选项,但是只有一个确认按钮。
如图:

怎么给这个日期选择对话框加上“确认”和“取消”按钮?

代码如下

public class MainActivity extends Activity {
private NotificationManager notificationmanager;
private Notification notification;

private DatePickerDialog.OnDateSetListener DatePickerListener = new DatePickerDialog.OnDateSetListener(){

@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub

}
};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

final Calendar objTime = Calendar.getInstance();
int iYear = objTime.get(Calendar.YEAR);
int iMonth = objTime.get(Calendar.MONTH);
int iDay = objTime.get(Calendar.DAY_OF_MONTH);

new DatePickerDialog(MainActivity.this, DatePickerListener, iYear, iMonth, iDay).show();

}

------解决方案--------------------
或者,把
new DatePickerDialog(MainActivity.this, DatePickerListener, iYear, iMonth, iDay).show();
改成
        DatePickerDialog picker = new DatePickerDialog(MainActivity.this, DatePickerListener,
                iYear, iMonth, iDay);
        picker.setCancelable(true);
        picker.setCanceledOnTouchOutside(true);
        picker.setButton(DialogInterface.BUTTON_POSITIVE, "OK",
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Log.d("Picker", "Correct behavior!");
                    }
                });
        picker.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel",
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Log.d("Picker", "Cancel!");
                    }
                });
        picker.show();

就有cancel了: