0

我正在尝试在一个最低 SDK 为 android 8 的 android 项目中创建一个对话框片段(实际上是一个时间选择器对话框),但我收到一条错误消息,指出需要 API 级别 11。Android 文档指出:“尽管 DialogFragment 是在 Android 3.0(API 级别 11)中首次添加到平台的,但如果您的应用支持早于 3.0 的 Android 版本(甚至低至 Android 1.6),您可以使用支持库以实现向后兼容性”。

如果这是相关的,这是我的代码。如您所见,我已经导入了支持库中的类:

package com.example.fitnessalarm;

import java.util.Calendar;
import android.app.Dialog;
import android.app.TimePickerDialog;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.text.format.DateFormat;
import android.widget.TimePicker;

public class MyDialogFragment extends DialogFragment implements TimePickerDialog.OnTimeSetListener {

    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        // Use the current time as the default values for the picker
        final Calendar c = Calendar.getInstance();
        int hour = c.get(Calendar.HOUR_OF_DAY);
        int minute = c.get(Calendar.MINUTE);

        // Create a new instance of TimePickerDialog and return it
        return new TimePickerDialog(getActivity(), this, hour, minute,
                DateFormat.is24HourFormat(getActivity()));
    }

    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        // Do something with the time chosen by the user
    }
}
4

1 回答 1

0

您提供的片段也适用于 pre Android 3.0。如果您确定您没有使用与 minSdk 版本不兼容的 Api,您可以添加@SuppressLint('NewApi')注释来解决您的问题

于 2013-04-28T17:46:55.087 回答