带有注射刀柄的视图模型中的屏幕旋转问题

问题描述

我在将匕首注入视图模型时遇到问题。问题是旋转屏幕时丢失表单输入。问题是我的注入还是初始化我的视图模型?这是我的视图模型;

@HiltViewModel
class ProfilIslemViewModel @Inject constructor(application: Application,private val kullaniciService: KullaniciService,private val kullaniciDao:KullaniciDao
): AndroidViewModel(application),CoroutineScope {...}

这是我使用这个视图模型的片段;

@AndroidEntryPoint
class ProfilIslemFragment:Fragment(),ProfilIslemFragmentClickListener {

private val viewModel: ProfilIslemViewModel by viewModels();
...
}

这里是注入类的模块;

@Module
@InstallIn(SingletonComponent::class)
object KutuphanemAppModule {

@Singleton
@Provides
fun provideKutuphanemDatabase
            (@ApplicationContext context:Context) = Room.databaseBuilder(
    context,KutuphanemDatabase::class.java,KUTUPHANEM_DB_NAME
).build();

@Singleton
@Provides
fun provideRetrofit(client: OkHttpClient):Retrofit =
    Retrofit.Builder()
        .baseUrl(API_URL)
        .addConverterFactory(ScalarsConverterFactory.create())
        .addConverterFactory(GsonConverterFactory.create())
        .client(client)
        .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
        .build();

@Singleton
@Provides
fun provideHttpClient(customSharedPreferences: CustomSharedPreferences):OkHttpClient{
    return OkHttpClient.Builder().addInterceptor(object:Interceptor{
        override fun intercept(chain: Interceptor.Chain): Response {
            val request:Request = chain.request().newBuilder().addHeader("Authorization","Bearer "+customSharedPreferences.getStringFromSharedPreferences(APP_TOKEN_KEY).trim()).build();
            return chain.proceed(request);
        }
    }).build();
}

@Singleton
@Provides
fun provideParametreDao(database: KutuphanemDatabase) = database.getParametreDao();

@Singleton
@Provides
fun provideParametreApi(retrofit: Retrofit):IParametreService = retrofit.create(IParametreService::class.java);

@Singleton
@Provides
fun provideKullaniciApi(retrofit: Retrofit):KullaniciService = retrofit.create(KullaniciService::class.java);

@Singleton
@Provides
fun provideKitapApi(retrofit: Retrofit):IKitapService = retrofit.create(IKitapService::class.java);

@Singleton
@Provides
fun provideKullaniciDao(database: KutuphanemDatabase) = database.getKullaniciDao();

}

当我旋转屏幕时,输入丢失了。如何解决这个问题?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)