Как завершить родительское действие из дочернего действия
Я новичок в разработке Android.
Я создал основное действие (- >A), которое имеет 4 кнопки. Одна из 4 кнопок-кнопка выхода.
Я начинаю другое действие (- >B), по щелчку кнопки выхода. Это открывает ''Activity Б через намерение из'Activity.
Activity' B ' содержит - вы хотите выйти? Да-Кнопка & Нет-Кнопка.
Если я дам finish (), onclick кнопки - он выходит из " B " Activity. Я хочу закончить "Б" & "А".
Я даже пробовал A. finish() -> это не распознается и приводит к синтаксической/семантической ошибке.
буду признателен за помощь.
P. S: Я использую телефон версии Android-2.2, и мне не нравится использовать ActivityManager для решения этой проблемы.
3 ответов
попробуйте запустить дочернюю активность с
startActivityForResult(intent, REQUEST_EXIT);
в детской деятельности
case R.id.quit:
setResult(RESULT_OK, null);
finish();
в родительской активности
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_EXIT) {
if (resultCode == RESULT_OK) {
this.finish();
}
}
}
использовать startActivityForResult()
на Действие A для запуска активности B и onActivityResult()
в просто finish()
активность A. В активности B на кнопке нажата просто finish()
Действие B.
вы можете закончить родительскую активность из дочерней активности...
В Родителя....
startActivityForResult(new Intent(Parent.this, Child.class), ACTIVITY_CONSTANT);
и переопределить OnActivityForResult(...) метод в родителе .
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == ACTIVITY_CONSTANT)
{
finish();
}
}
когда вы вызываете finish () для дочернего действия, он также завершает Родительский.