如何从外部库添加自定义时间选择器对话框?

时间:2015-01-09 04:02:40

标签: android datepicker android-alertdialog datetimepicker

我正在使用this库在我的应用中使用自定义时间选择器。 TimePickerDialog类的相关代码如下:

public static TimePickerDialog newInstance(OnTimeSetListener callback,
        int hourOfDay, int minute, boolean is24HourMode) {
    TimePickerDialog ret = new TimePickerDialog();
    ret.initialize(callback, hourOfDay, minute, is24HourMode);
    return ret;
}

现在在我的活动中,我使用此代码创建TimePickerDialog类的实例:

TimePickerDialog dialog = TimePickerDialog.newInstance((OnTimeSetListener) mTimeSetListener, getHour, getMinute, true);

现在我必须使用dialog.show()功能。 但是在之前的代码中,它显示错误cannot resolve method instance(...)

我的回调函数如下:

private TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener()
{

    @Override
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
        setHour = hourOfDay;
        setMinute = minute;
    }
};

有什么建议吗?

修改:完成错误日志:Error:(59, 51) error: cannot find symbol method newInstance(OnTimeSetListener,int,int,boolean)

1 个答案:

答案 0 :(得分:0)

首先,您需要导入要在应用中使用的库

import static com.android.datetimepicker.time.TimePickerDialog.*;

用于创建TimePickerDialog类的新实例的代码可能会被编译器误解释。因此需要稍微修改一下:

com.android.datetimepicker.time.TimePickerDialog dialog = new com.android.datetimepicker.time.TimePickerDialog();
dialog.newInstance((OnTimeSetListener) mTimeSetListener, getHour, getMinute, true);

只需添加该类的全名,以免将其与android.app.TimePickerDialog

混淆