Почему некоторые атрибуты моего объекта модели становятся нулевыми после передачи его из одного действия в другое в намерении? - PullRequest
0 голосов
/ 03 августа 2020

У меня есть класс модели, который реализует 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...