问题描述
我在将匕首注入视图模型时遇到问题。问题是旋转屏幕时丢失表单输入。问题是我的注入还是初始化我的视图模型?这是我的视图模型;
@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 (将#修改为@)