Не могу передать свой класс через intent

121
09 апреля 2022, 19:10

Из активити А я запускаю активити Б и хочу получить обратно через intent свой класс. Редактор говорит, что ошибка в этой строке (активити Б):

intent.putExtra(Items.class.getSimpleName(), item);

Код, где я запускаю активити Б:

public void floatinButton1OnClick(View view) {
    Intent intent = new Intent(this, AddElement.class);
    startActivityForResult(intent, 1);
}

Код из активити Б, где я кладу класс в интент и передаю его обратно в активити А:

public void floatingButton1OnClick(View view) {
    TextView tvTask = findViewById(R.id.task);
    TextView tvComment = findViewById(R.id.comment);
    String task = tvTask.getText().toString();
    String comment = tvComment.getText().toString();
    String firstDate = new String();
    String secondDate = new String();
    ArrayList<String> subtasks = new ArrayList<>();
    Items item = new Items(task, comment, firstDate, secondDate, subtasks);
    Intent intent = new Intent(this, MainActivity.class);
    intent.putExtra(Items.class.getSimpleName(), item);
    setResult(RESULT_OK, intent);
    finish();
}
Answer 1

Добавьте implements Serializable для вашего класса

public class Items implements Serializable { ... }

Получение из интента:

Items items = (Items) intent.getSerializableExtra(Items.class.getSimpleName())
READ ALSO
Бесконечный фоновый процесс в Android

Бесконечный фоновый процесс в Android

Пишу программу на Android (дистанционное управление техникой)Возникли проблемы с таймером (в конкретное время должно включаться и выключаться)

194
как настроить автоконфигурацию oauth2 webClient?

как настроить автоконфигурацию oauth2 webClient?

Есть приложение, с oauth2 где параметры WebClient указываются через been

204
Маппинг json в DTO с помощью Jackson

Маппинг json в DTO с помощью Jackson

Друзья, добрый день! Есть такая dto'шка:

84