Как передать данные из щелкнутого элемента в recyclerview в модель просмотра и открыть новую активность?

Как я уже писал, я ищу решение этой проблемы. Как правильно в MVVM в Android передать тексты и идентификатор щелкнул элемент в ViewModel и открыть новую активность?

Новая активность является деталью элемента. Поэтому, когда я нажимаю на элемент, я хочу отобразить новую активность с данными из выбранного элемента, и мне нужен идентификатор элемента для редактирования объекта в элементе.


person user9897182    schedule 06.11.2018    source источник
comment
если вы получаете данные в адаптере, то onclicklistener держателя вы можете намеренно передать данные другому действию.   -  person Vishal Sharma    schedule 06.11.2018
comment
stackoverflow.com/questions/42783116/   -  person Uli    schedule 06.11.2018


Ответы (1)


Используя RecyclerView.Adapter для заполнения ваших данных, реализуйте OnClickListener для viewHolder.

В методе onClick (переопределенном) вы можете ввести свой код для запуска новой активности, скажем, у вас есть класс модели с именем Test и список массивов с именем testList. тогда:

Intent intent = new Intent(mContext, DetailActivity.class);
intent.putExtra(KEY, testList.get(getAdapterPosition()));
mContext.startActivity(intent);

Обратите внимание, что getAdapterPosition() вернет позицию, в которой вы щелкнули, mContext — это контекст, переданный адаптеру.

Вам понадобится класс модели для реализации Parcelable, чтобы модель могла передаваться между действиями. https://developer.android.com/guide/components/activities/parcelables-and-bundles

person Amr    schedule 06.11.2018