Сегодня у меня есть вопрос о mvvm и привязке данных на Android,
Я пытаюсь связать свойства объекта при просмотре.
У меня есть объект (модель) с некоторыми свойствами, например:
public String name;
public String title;
public int value;
У меня есть ViewModel с livedata, как это:
MutableLiveData<Object> _obj = new MutableLiveData<>();
public LiveData<Object> obj = _obj;
И, наконец, у меня есть такое представление:
<layout>
<data>
<variable
name="viewModel">
type="com.sample.app.viewmodels.MainViewModel" />
</data>
<LinearLayout
... >
<TextView
android:text:="@{viewModel.obj.name}"
.../>
</LinearLayout>
</layout>
Я видел, что мы можем сделать это в видео от «Android Developers» о «LiveData»: https://youtu.be/OMcDk2_4LSk?t=102
Она говорит, что это возможно в студии Android на версиях 3.1+. Но это не работает для меня.
binding.viewModel = viewModel
? Можете ли вы показать часть, где вы устанавливаете эти параметры привязки - person Sanlok Lee   schedule 05.07.2019public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { MainViewModel viewModel = ViewModelProviders.of(this).get(MainViewModel.class); MainFragmentBinding binding = MainFragmentBinding.inflate(getLayoutInflater()); binding.setViewModel(viewModel); binding.setLifecycleOwner(this); return binding.getRoot(); }
- person C. MARTIN   schedule 06.07.2019livedata
из своегоMuteableLiveData
? почему бы не использоватьMuteableLiveData
для привязки? - person mahdi shahbazi   schedule 06.07.2019