@SuppressLint("SimpleDateFormat")
private void date(){
final AlertDialog dlg = new AlertDialog.Builder(this).create();
dlg.show();
Window window = dlg.getWindow();
// *** 主要就是在這裏實現這種效果的.
// 設置窗口的內容頁面,shrew_exit_dialog.xml文件中定義view內容
window.setContentView(R.layout.datepicker_layout);
// 爲確認按鈕添加事件,執行退出應用操作
DatePicker dp = (DatePicker) window.findViewById(R.id.dpPicker);
final Calendar calendar = Calendar.getInstance();
final SimpleDateFormat format = new SimpleDateFormat("yyyy-MM");
// 隱藏日期View
((ViewGroup) ((ViewGroup) dp.getChildAt(0)).getChildAt(0)).getChildAt(2).setVisibility(View.GONE);
dp.init(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH),
new DatePicker.OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
// 獲取一個日曆對象,並初始化爲當前選中的時間
calendar.set(year, monthOfYear, dayOfMonth);
}
});
RelativeLayout ok = (RelativeLayout) window.findViewById(R.id.YES);
ok.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
System.out.println("======date====" + format.format(calendar.getTime()));
if (flag == 0) {
mStartDateStr = format.format(calendar.getTime());
mStartTimeTv.setText("開始時間:" + mStartDateStr);
} else {
mEndDateStr = format.format(calendar.getTime());
mEndTimeTv.setText("結束時間:" + mEndDateStr);
}
dlg.cancel();
}
});
紅色標記部分報錯
解決辦法:
1.styles.xml中添加代碼:
<style name="MyDatePicker" parent="@android:style/Theme.Holo.Light"></style>
2.manifast中引用:
android:theme="@style/MyDatePicker"