У меня есть MainActivity, и я использую startActivityForResult, чтобы открыть другое действие, в котором я работаю с некоторыми данными в списке. Я также могу редактировать эти данные и удалять их. После нажатия кнопки «Назад» на моем телефоне я хочу отправить этот отредактированный список обратно в основное действие. Где я должен создать это намерение с этим новым списком? Есть ли способ, который я могу переопределить для этой кнопки возврата?Как отправить данные обратно в MainActivity
0
A
ответ
0
Вы можете переопределить onBackPressed
и передать данные обратно к исходному Activity
. Но для того, чтобы передать это так, то список должен реализовать Parcelable
@Override
public void onBackPressed() {
super.onBackPressed();
Intent intent = new Intent();
Bundle data = new Bundle();
data.putParcelableArrayList("someKey", listThatImplementsParcelable);
intent.putExtras(data);
setResult(RESULT_OK, intent);
finish();
}
3
В вашем MainActivity вызвать AnotherActivity с помощью startActivityForResult() метод:
Intent i = new Intent(this, AnotherActivity.class);
startActivityForResult(i, 1);
Если вам нужно, в вашем AnotherActivity установить данные который вы хотите вернуть обратно в MainActivity.
Intent returnIntent = new Intent();
returnIntent.putExtra("mData", object);
setResult(RESULT_OK, returnIntent);
finish();
В MainActivity вы должны Override/Реализуйте метод onActivityResult() следующим образом:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 1) {
if(resultCode == RESULT_OK){
String result=data.getStringExtra("mData");
}
if (resultCode == RESULT_CANCELED) {
// do something if there is no result
}
}
}
Смотрите еще:
Смежные вопросы
- 1. отправить данные из Mainactivity в Mainactivity2
- 2. Как отправить данные обратно в концентратор SignalR
- 3. Как переключиться обратно в MainActivity из фрагмента?
- 4. Как отправить обратно JSon тип данные
- 5. отправить выбранные данные обратно в исходное окно
- 6. json_encode отправить данные обратно в js
- 7. Android возвращает значение обратно в MainActivity
- 8. Как отправить пакет обратно?
- 9. Как отправить данные из модели обратно в контроллер в swift?
- 10. Как мне отправить обратно?
- 11. Java Отправить данные с сервера обратно клиенту
- 12. Как отправить отсканированные данные штрих-кода обратно в вызывающую активность?
- 13. Как отправить данные из потока обратно в основной интерфейс?
- 14. Как отправить данные обратно в браузер с сервера?
- 15. как я могу отправить данные обратно из onPostExecute в AsyncTask?
- 16. Как отправить строку json обратно в jquery
- 17. Как отправить результат AJAX обратно в JSP?
- 18. отправить сообщение (String) из файла в MainActivity
- 19. Как отправить данные обратно на узел из casperjs?
- 20. Android - Как отправить данные обратно на вызывающую активность
- 21. как отправить данные из активности обратно на фрагмент
- 22. Как отправить данные обратно на предыдущий контроллер интерфейса?
- 23. Dynatree как отправить данные обратно на сервер при модификации дерева
- 24. Laravel 5.2 как отправить обратно данные $ вместе со старыми входами
- 25. Как отправить словарь обратно в Django?
- 26. Как передать данные обратно в родительское окно?
- 27. Как отправить данные из службы в действие?
- 28. отправить данные обратно из jsp итератора в struts action class
- 29. Лотус Script Web Agent: Отправить двоичные данные обратно в браузер
- 30. Отправить обратно функциональность в HTML5
Да. Переопределите onBackPressed() в своем втором действии и начните намерение, которое переходит к основному действию с дополнительными функциями. – kha
Да, это то, что я искал. Я, вероятно, пропустил это, когда искал методы переопределения! Спасибо! – previ