请帮我解决我的问题。我想从我的数据库中获取 LiveData 并用 recycleview 显示它。我在 Repository 中有从数据库中获取它的方法:
fun getEthTransactions(): LiveData<List<EthTransaction>> {
return mEthTransactionsDao.getTransactions()
}
Run Code Online (Sandbox Code Playgroud)
我检查了这个方法返回的不是 null。
在 ViewModel 我这样做:
private val ethRepository: EthRepository = EthRepository(application)
val transactionData: LiveData<List<EthTransaction>>
get() = ethRepository.getEthTransactions()
Run Code Online (Sandbox Code Playgroud)
在片段中,我尝试获取 viewModel 并绑定绑定:
private val journalFragmentViewModel by lazy {
ViewModelProviders.of(this).get(JournalFragmentViewModel::class.java)
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val activityJournalBinding : FragmentJournalBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_journal, container,false)
journalFragmentViewModel.transactionData.observe(this, Observer {
activityJournalBinding.viewModel = journalFragmentViewModel
JournalAdapter().journal = it
})
activityJournalBinding.viewModel = journalFragmentViewModel
activityJournalBinding.lifecycleOwner = this
return activityJournalBinding.root
}
override …Run Code Online (Sandbox Code Playgroud) android android-databinding android-mvvm android-room android-livedata