Mee*_*raj 12 android android-viewmodel
我正在我的 Android 应用程序中创建自己的视图模型。
\n当应用程序启动时,它崩溃了,我收到了错误
\n\n“由以下原因引起:java.lang.NoSuchMethodException:[class android.app.Application]”
\n
1.查看模型类:
\npublic class MainViewModel extends AndroidViewModel implements OnCommunicationListener {\n    \npublic MainViewModel(@NonNull Application application, DeviceData deviceData) {\n        super(application);\n\n\xe2\x80\xa6.\n}\nRun Code Online (Sandbox Code Playgroud)\n2.查看模型工厂
\npublic class ViewModelFactory extends ViewModelProvider.AndroidViewModelFactory {\n\n    @NonNull\n    private final Application application;\n    private final DeviceData deviceData;\n\n    public ViewModelFactory(@NonNull Application application, DeviceData deviceData) {\n        super(application);\n        this.application = application;\n        this.deviceData = deviceData;\n    }\n\n    @NonNull\n    @Override\n    public <T extends ViewModel> T create(@NonNull Class<T> modelClass) {\n        if (modelClass.isAssignableFrom(MainViewModel.class)) {\n            return (T) new MainViewModel(application, deviceData);\n        }\n        throw new IllegalArgumentException("Unknown ViewModel class");\n    }\n}\nRun Code Online (Sandbox Code Playgroud)\n3.主要活动课
\n viewModel = ViewModelProviders.of(this).get(MainViewModel.class);\nRun Code Online (Sandbox Code Playgroud)\n在主活动中执行以下行时应用程序崩溃
\n viewModel = ViewModelProviders.of(this).get(MainViewModel.class);\nRun Code Online (Sandbox Code Playgroud)\n
    您需要将视图模型工厂传递给调用of,否则您的工厂将不会被使用。
viewModel = ViewModelProviders.of(this, viewModelFactoryInstance).get(MainViewModel.class);
Run Code Online (Sandbox Code Playgroud)
        |   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           7809 次  |  
        
|   最近记录:  |