Как вызвать 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.

Другие вопросы по тегам