【发布时间】:2021-08-20 18:25:38
【问题描述】:
我需要在我的 BottomSheetDialog 中引用 ViewModel。我没有找到任何解决方案。所以,我决定制作 wordViewModel 静态字段。不知道对不对。
问题是我无法将 Lifecycler 所有者传递给 ViewModelProvider。 我在 BottomSheetDialog.class 中尝试过这样,但是这一行抛出了异常:
wordViewModel = new ViewModelProvider(this).get(WordViewModel.class);
以下解决方案帮助了我。
MainActivity.class
public static WordViewModel wordViewModel;
wordViewModel = new ViewModelProvider(this).get(WordViewModel.class);
BottomSheetDialog.class
@OnClick(R.id.findBtn)
void findWordDefinition(){
String mWord = wordText.getText().toString();
MainActivity.wordViewModel.getWord(mWord);
dismiss();
}
请说明如何正确解决。
【问题讨论】:
标签: java android mvvm architecture components