gpt4 book ai didi

android - 显示自定义时间选择器期间应用强制关闭

转载 作者:行者123 更新时间:2023-11-29 20:55:39 25 4
gpt4 key购买 nike

我正在使用 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;
}

在我的 Activity 中,我使用这段代码来实现:

com.android.datetimepicker.time.TimePickerDialog dialog = new        com.android.datetimepicker.time.TimePickerDialog();
dialog.newInstance((OnTimeSetListener) mTimeSetListener, getHour, getMinute, true);
FragmentManager fragmentManager;
fragmentManager = getSupportFragmentManager();
dialog.show(fragmentManager, "timepicker");

但是当我启动该应用程序时,我会强制关闭并出现以下错误:

01-10 11:08:29.781 8727-8727/com.example.unplugged E/AndroidRuntime:致命异常:main
java.lang.ClassCastException: com.example.unplugged.MainActivity$1 无法转换为 com.android.datetimepicker.time.TimePickerDialog$OnTimeSetListener
在 com.example.unplugged.MainActivity.onClick(MainActivity.java:48)
在 android.view.View.performClick(View.java:4249)
在 android.view.View$PerformClick.run(View.java:17764)
在 android.os.Handler.handleCallback(Handler.java:730)
在 android.os.Handler.dispatchMessage(Handler.java:92)
在 android.os.Looper.loop(Looper.java:137)
在 android.app.ActivityThread.main(ActivityThread.java:5162)
在 java.lang.reflect.Method.invokeNative( native 方法)
在 java.lang.reflect.Method.invoke(Method.java:525)
在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:756)
在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:572)
在 de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
在 dalvik.system.NativeStart.main( native 方法)

有什么建议吗?

编辑:回调方法:

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

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

最佳答案

您必须使用 android.app.TimePickerDialog.OnTimeSetListener

改变

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

dialog.newInstance(new com.android.datetimepicker.time.TimePickerDialog.OnTimeSetListener()
{
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
setHour = hourOfDay;
setMinute = minute;
}
}, getHour, getMinute, true);

关于android - 显示自定义时间选择器期间应用强制关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27873295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com