sách gpt4 ai đã đi

安卓 DatePickerDialog API 23 (安卓 6)

In lại 作者:塔克拉玛干 更新时间:2023-11-03 01:14:57 33 4
mua khóa gpt4 Nike

我正在触发一个 DatePickerDialog,在 api 22 (Android 5.1) 之前它一直在工作并显示良好,我在上面设置混合和最大日期(最小 = 当前日期,最大 = 从当前日期开始的 1 个月),但它只是在 Api 23 中显示当前日期,我附上了代码和图像。

///////////////////////////////datepickerdialog///////////////////////////////
public static class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener{

@Ghi đè
public Dialog onCreateDialog(Bundle savedInstanceState){
final Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);

/*
Create a DatePickerDialog using Theme.

DatePickerDialog(Context context, int theme, DatePickerDialog.OnDateSetListener listener,
int year, int monthOfYear, int dayOfMonth)
*/

// DatePickerDialog THEME_DEVICE_DEFAULT_LIGHT
DatePickerDialog dpd = new DatePickerDialog(getActivity(),this,year,month,day);

if (Build.VERSION.SDK_INT < 22){

dpd.getDatePicker().setCalendarViewShown(true);
dpd.getDatePicker().setSpinnersShown(false);
dpd.getDatePicker().getCalendarView().setShowWeekNumber(false);

}

calendar.setTimeInMillis(calendar.getTimeInMillis());
long mindate = calendar.getTime().getTime();
calendar.add(Calendar.MONTH, 1);
long maxdate = calendar.getTime().getTime();

dpd.getDatePicker().setMinDate(mindate);
dpd.getDatePicker().setMaxDate(maxdate);

dpd.getDatePicker().setMinDate(mindate);

if(Build.VERSION.SDK_INT < 23){

dpd.setTitle("");

}

// Return the DatePickerDialog
return dpd;
}

@SuppressLint("SimpleDateFormat")
public void onDateSet(DatePicker view, int year, int month, int day){
// Do something with the chosen date

month++;

evento_fecha = year+"-"+month+"-"+day;


month--;

datetime.set(Calendar.YEAR, year);
datetime.set(Calendar.MONTH, month);
datetime.set(Calendar.DAY_OF_MONTH, day);

SimpleDateFormat mSDF = new SimpleDateFormat("dd/MM/yyyy");
fecha = mSDF.format(datetime.getTime());

//fecha_seleccionada.setText(dia+"/"+mes+"/"+year);
fecha_seleccionada.setText(fecha);

}
}

Android 5.1

Android 6

答案 1:结果 ANSWER 1: Results

1 Câu trả lời

DatePicker/DatePickerDialog 未在 Android Marshmallow/API 23 上正确显示是一个主题问题。我建议,不要使用默认主题或编写自定义样式,而是使用“chủ đề”选项实例化 DatePickerDialog:

DatePickerDialog(Context context, int theme, DatePickerDialog.OnDateSetListener listener, int year, int monthOfYear, int dayOfMonth)

从 API 23 开始,对话框应该使用 Material 主题。使用 android.R.style.Theme_Material_Light_Dialog_Alert 作为主题参数。

Xamarin Android - 使用 Android.Resource.Style.ThemeMaterialLightDialogAlert.

关于安卓 DatePickerDialog API 23 (安卓 6),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38024857/

33 4 0
Bài viết được đề xuất: c++ - 如何通过 C++ std::set 尽早结束迭代?
Bài viết được đề xuất: linux - Makefile:从文件读取时使用 cp 命令
Bài viết được đề xuất: c++ - 你如何处理内存管理和信号/插槽?
Bài viết được đề xuất: ruby - gem 可执行文件将不会运行
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com