【问题标题】:How to change Buttons in Android DatePicker如何更改 Android DatePicker 中的按钮
【发布时间】:2014-03-23 21:22:45
【问题描述】:

当我想在我的 Android 日历应用程序中选择一天或时间时,会打开一个 DatePicker。在这个 Datepicker 中,有两个按钮。 左侧标记为“取消”右侧标记为“设置”。 在我的 Android 应用程序中,我还有一个 DatePicker。在此 DatePicker 中,左按钮标记为“设置”右按钮标记为“取消”

为什么这两个应用的行为方式不同?

有谁知道,为什么这些 DatePickers 中的按钮顺序不同?

调用 DatePickerFragment 的我的 Activity:

public void chooseDate(View v) {
    DatePickerFragment newFragment = new DatePickerFragment();
    newFragment.setCalendar(termin);
    newFragment.show(getFragmentManager(), "datePicker");
}

我的 DatePickerFragment 类:

public class DatePickerFragment extends DialogFragment implements
        DatePickerDialog.OnDateSetListener {

    private Calendar calendar = Calendar.getInstance();

    public Calendar getCalendar() {
        return calendar;
    }

    public void setCalendar(Calendar calendar) {
        this.calendar = calendar;
    }

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        // Use the current date as the default date in the picker
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH);
        int day = calendar.get(Calendar.DAY_OF_MONTH);

        // Create a new instance of DatePickerDialog and return it
        return new DatePickerDialog(getActivity(), this, year, month, day);
    }

    public void onDateSet(DatePicker view, int year, int month, int day) {
        ((DatePickerMenu) getActivity()).setDate(year, month, day);
    }
}

这是日历应用程序中的外观:

这是它在我的应用程序中的外观:

【问题讨论】:

标签: android datepicker


【解决方案1】:

也许是这样的?

记住:您可以使用builder.setTitle() 设置标题,在屏幕中我将其保留为空,因为我不知道您想对标题做什么。

AlertDialog.Builder builder = new AlertDialog.Builder(this);
DatePicker picker = new DatePicker(this);
picker.setCalendarViewShown(false);

builder.setView(picker);
builder.setNegativeButton("Cancel", null);
builder.setPositiveButton("Set", null);
builder.show();

如果您想扩展DialogFragment,您可以使用相同的代码,并覆盖onCreateDialog


我使用了一个 AlertDialog

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setCustomTitle(new DatePicker(this));
builder.setNegativeButton("Cancel", null);
builder.setPositiveButton("Set", null);
builder.show();

【讨论】:

    【解决方案2】:

    应用程序中显示的日期选择器因使用的设备而异。对于最新版本和高级手机,日期选择器的外观与较低版本的 Android 手机相比有所不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-04
      • 1970-01-01
      • 1970-01-01
      • 2021-02-07
      • 2014-05-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多