我在我的应用程序中使用WorkManager。当我的工作程序类是嵌套类(在我的活动内部)时,出现“无法实例化工作程序”错误。 正如下面的链接所讨论的,对我有用的解决方案是使工人成为独立的班级。
Android Work Manager: "Could not instantiate Worker"。
有没有办法使我的工人成为嵌套类?
答案 0 :(得分:0)
如果您使用的是kotlin,则可以从类声明中删除“ inner”关键字。这应该摆脱错误。但是,您将无法访问其外部类的成员。
答案 1 :(得分:0)
这是WorkManager的默认pandas_datareader
的预期行为,因为它使用反射来查找Worker类。因此,它需要是公共的,而不是内部类。
为您的Worker使用内部类的用例是什么? 如果您需要将一些其他参数传递给您的Worker,则可以定义一个自定义的WorkerFactory并在其中传递其他参数。