Как вызвать startactivityforresult от одного действия к другому в группе действий внутри вкладки
У меня есть вкладка активность, и внутри одной вкладки у меня есть активность группы. Вначале показывается действие A, и оттуда я хочу вызвать действие B, используя startactivityforresult. Как этого добиться?
в моей деятельности, я делаю это...
Intent i = new Intent(Entry.this, Child.class);
// Create the view using FirstGroup's LocalActivityManager
View view = GroupActivity.group.getLocalActivityManager()
.startActivity("child", i
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))
.getDecorView();
// Again, replace the view
GroupActivity.group.replaceView(view);
Это, однако, приводит меня к занятию B, и я не могу вернуться к занятию A оттуда.
1 ответ
Решение
Измените startActivity на:
.startActivityForResult (i,.addFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP));
затем добавьте этот метод в ActivityA:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// See which child activity is calling us back.
switch (resultCode) {
case RESULT_OK:
{
//processing code goes here
}
default:
break;
}
}
и затем, когда метод finish() вызывается для действия B, вы должны нажать метод OnActivityResult. Вы также можете отправить намерение обратно к основной деятельности, позвонив:
setResult(Activity.Result_OK, intent);
на деятельность B.