小编Aru*_*run的帖子

HILT:尚未在 ViewModel 中初始化 lateinit 属性存储库

我在使用 HILT 的多模块 android 项目中面临这个问题。

 kotlin.UninitializedPropertyAccessException: lateinit property repository has not been initialized in MyViewModel
Run Code Online (Sandbox Code Playgroud)

我的模块是

  1. 应用模块
  2. 视图模型模块
  3. 用例模块
  4. 数据源模块

“应用模块”

@AndroidEntryPoint
class MainFragment : Fragment() {
private lateinit var viewModel: MainViewModel
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
                          savedInstanceState: Bundle?): View {
    return inflater.inflate(R.layout.main_fragment, container, false)
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
    super.onActivityCreated(savedInstanceState)
    viewModel = ViewModelProviders.of(this).get(MainViewModel::class.java)
    viewModel.test()
}}
Run Code Online (Sandbox Code Playgroud)

'视图模型模块'

class MainViewModel @ViewModelInject constructor(private val repository: MyUsecase): ViewModel() {
fun test(){
    repository.test()
}}
Run Code Online (Sandbox Code Playgroud)

'用例模块'

class MyUsecase @Inject constructor() {

@Inject
lateinit …
Run Code Online (Sandbox Code Playgroud)

android dagger-2 dagger-hilt

5
推荐指数
2
解决办法
4606
查看次数

Android DataBinding:查看闪烁

我正在使用GridView图像项目,通过A加载图像ndroid DataBinding technology.如果添加一些新项目列表并通知适配器,那么GridView会闪烁为什么会发生?如果我不使用DataBinding技术那么它的工作正常.

performance android android-databinding

4
推荐指数
1
解决办法
1026
查看次数