Страницы

Поиск по вопросам

вторник, 31 декабря 2019 г.

Как передать все значения item в RecycleView?

#java #android


У меня есть recycleview с данными и мне надо передать все данные items в другое активити,как
мне это реализовать?
    


Ответы

Ответ 1



Зачем делать такой костыль как в предыдущем ответе, если любую модель можно сделать сериализуемой (implements Parcelable) и передавать всю модель целиком? Кладем в intent: intent.putExtra("parcelable", myParcelables.get(position)) Берем из intent: MyParcelable model = getIntent().getParcelableExtra("parcelable") пример реализации: public class Country implements Parcelable { private String code; private String name; private String tag; private int limit; private String image; public Country(JSONParser data) { code = data.getString("code"); name = data.getString("value"); tag = data.getString("flag"); image = data.getString("image"); if (data.contains("limit")) { limit = data.getInt("limit") - code.length(); } } public Country(Parcel in) { code = in.readString(); name = in.readString(); tag = in.readString(); image = in.readString(); limit = in.readInt(); } public static final Creator CREATOR = new Creator() { @Override public Country createFromParcel(Parcel in) { return new Country(in); } @Override public Country[] newArray(int size) { return new Country[size]; } }; @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(code); dest.writeString(name); dest.writeString(tag); dest.writeString(image); dest.writeInt(limit); } public String getClearCode() { return code; } public String getCode() { return "+" + code; } public String getName() { return name; } public String getTag() { return tag; } public int getLimit() { return limit; } public String getImage() { return image; } } P.S. Чтобы не словить BadParcelableException при передаче между активностями Parcelable-конструктор должен инициализировать данные в том же порядке, в котором они были записаны в Parcel в методе void writeToParcel(Parcel, int)

Ответ 2



Самый примитив добавить кликер и передать данные Вот примерная реализация Добавляешь его в слушатель Intent intent = new Intent(getActivity(), YourNextActivity.class); intent.putExtra("movie_id_key", movies.get(position).getId); //you can name the keys whatever you like intent.putExtra("movie_rating_key", movies.get(position).getRating); //note that all these values have to be primitive (i.e boolean, int, double, String, etc.) intent.putExtra("movie_release_date_key", movies.get(position).getReleaseDate); startActivity(intent) А это прописываешь в новом Activity: String id = getIntent().getExtras().getString("movie_id_key");

Комментариев нет:

Отправить комментарий