Ayden
09/28/2020, 3:57 PMLiveData
?
private fun getVoteData(): ArrayList<PieEntry> {
...
val viewModel = ViewModelProvider(this, voteViewModelFactory).get(VoteViewModel::class.java)
val liveData = viewModel.getVote()
liveData.observe(viewLifecycleOwner, { vote ->
vote.forEach {
votes.add(PieEntry(it.total.toFloat(), it.name))
}
})
return votes
}
private fun generateChart(binding: FragmentPieChartBinding, getVoteData: ArrayList<PieEntry>) {
...
// Run before livedata execute
Log.d("TEST", votes.toString())
...
// Render chart result
}
coroutinedispatcher
09/28/2020, 3:58 PMAnshulupadhyay03
09/28/2020, 3:59 PMAyden
09/28/2020, 4:03 PMgetVoteData()
function.Ayden
09/28/2020, 4:03 PMdawidhyzy
09/29/2020, 5:39 AMNikola Minoski
10/01/2020, 11:20 AMval votesMediator = MediatorLiveData<..>()
votesMediator.addSource(viewModel.getVote()) {votes ->
votesMediator.psotValue(votes.map { PieEntry(it.total.toFloat(), it.name) })
}
and do votesMediator.observe(.. in fragment/activity onCreate or use votesMediator with data-binding