[英]Cannot create an instance of class of AndroidViewModel in android
[英]The class cannot inherit from the AndroidViewModel, why?
我嘗試創建一個繼承自AndroidViewModel的新類,如下所示
public class LoginViewModel extends AndroidViewModel {
public LoginViewModel() {}
...
但是我在思想中得到了這個信息:
android.arch.lifecycle.AndroidViewModel中沒有默認的構造函數
我發生這種情況嗎?
我的gradle看起來像這樣:
...
implementation 'android.arch.lifecycle:extensions:1.1.1'
...
任何想法?
謝謝
AndroidViewModel
只有一個將Application
作為參數的公共構造函數。 您必須從構造函數調用此函數:
public LoginViewModel(Application app) {
super(app);
}
從其繼承時,您需要向AndroidViewModel類添加超級調用。 AndroidViewModel
類包含將Application
類作為變量的默認構造函數 ,因此您應按以下方式更改實現:
public class LoginViewModel extends AndroidViewModel {
public LoginViewModel(Application application) {
super(application);
// Do rest of your stuff here ...
}
...
AndroidViewModel
類的默認實現指出:
Application
上下文感知ViewModel
。子類必須具有一個接受
Application
作為唯一參數的構造函數。
https://developer.android.com/reference/android/arch/lifecycle/AndroidViewModel
子類必須具有一個接受Application作為唯一參數的構造函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.