У меня есть класс модели, который реализует Serializable, поэтому я могу передавать его объекты в намерениях. Проблема в том, что когда я делаю это из recyclerView, некоторые атрибуты становятся нулевыми, а другие сохраняются.
@Override
public void onBindViewHolder(@NonNull final MyViewHolder holder, int position) {
final Pergunta pergunta = perguntaList.get(position);
holder.txtQuestion.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(activity, QuestionActivity.class);
intent.putExtra("key",pergunta);
activity.startActivity(intent);;
activity.overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
}
});
Мой класс ViewHolder в порядке, просто не отображается, чтобы его было легче читать.
А теперь в onCreate целевого Activity:
Bundle bundle = getIntent().getExtras();
if (bundle != null) {
pergunta = (Pergunta) bundle.getSerializable("key");;
}
Когда я пытаюсь использовать объект, в нем находятся только некоторые из его атрибутов, остальные равны нулю, что означает, что пакет сам по себе не нулевой, а «неполный». Как это исправить?
* Мой класс модели:
public class Pergunta extends Postagem implements Serializable {
private String question;
private String translatedQuestion;
private String category;
private String answersFrom;
private String userPicUrl;
private int interestCount = 0;
private int answersCount = 0;
public Map<String, Boolean> likers = new HashMap<>();
public Map<String, Boolean> followers = new HashMap<>();
private boolean isTranslatedByGoogle;
public String getQuestion() {
return question;
}
public void setQuestion(String question) {
this.question = question;
}
public String getTranslatedQuestion() {
return translatedQuestion;
}
public void setTranslatedQuestion(String translatedQuestion) {
this.translatedQuestion = translatedQuestion;
}
public String getAnswersFrom() {
return answersFrom;
}
public void setAnswersFrom(String answersFrom) {
this.answersFrom = answersFrom;
}
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
public boolean isTranslatedByGoogle() {
return isTranslatedByGoogle;
}
public void setTranslatedByGoogle(boolean translatedByGoogle) {
isTranslatedByGoogle = translatedByGoogle;
}
public String getUserPicUrl() {
return userPicUrl;
}
public void setUserPicUrl(String userPicUrl) {
this.userPicUrl = userPicUrl;
}
public int getInterestCount() {
return interestCount;
}
public void setInterestCount(int interestCount) {
this.interestCount = interestCount;
}
public int getAnswersCount() {
return answersCount;
}
public void setAnswersCount(int answersCount) {
this.answersCount = answersCount;
}