我正在尝试在承载片段的活动中更新LiveData对象,然后我想在观察片段后更新其UI。问题是片段的ui仅在片段重新启动时才更新。每当活动中的数据发生更改时,我该怎么做才能实现片段中Ui的实时更新?
//活动代码:
def gauss(f,0,2,5):
^
SyntaxError: invalid syntax
///片段:
transactionViewModel = ViewModelProviders.of(this, providerFactory).get(TransactionViewModel.class);
transactionViewModel.getUserValues();
答案 0 :(得分:0)
为了实现“ Ui的实时更新”,我建议使用data-binding。
在您的代码中,我认为您正在观察viewModel的不同引用。
尝试投放活动后尝试观察(这里是使用Kotlin)
val myActivity = (requireActivity() as MainActivity)
myActivity.transactionViewModel.viewModel.userValues.observe(getActivity(), userValues -> {
if(userValues.data != null){}//update the ui }
答案 1 :(得分:0)
片段代码
${styles.productSizes__title}
应该是
transactionViewModel = ViewModelProviders.of(getActivity(), providerFactory).get(TransactionViewModel.class);
viewModel.userValues.observe(getActivity(), userValues -> {
if(userValues.data != null) {
//update the UI
}
}