Вызов метода из другой деятельности - PullRequest
0 голосов
/ 06 января 2011

У меня есть вопрос относительно вызова метода из одного действия в другом. У меня есть действие, которое использует startActivityForResult и возвращает результат после завершения второго действия, но прежде чем я вызову финиш () для второго действия, я хочу вызвать метод refresh () в первом действии.

Моя первоначальная мысль - передать первое действие в качестве дополнительного в намерении, чтобы я мог ссылаться на методы этого действия, но не вижу, как это делается.

1 Ответ

2 голосов
/ 06 января 2011

Зачем звонить refresh() в упражнении A перед завершением занятия B? Если вы начали упражнение B, используя startActivityForResult(), вы получите результат обратно в onActivityResult() в упражнении A. После этого вы можете вызвать refresh(). Итак, приведем пример:

Деятельность B имеет:

setResult(RESULT_OK);
finish();

Активность A имеет:

private static final int ACTIVITY_B = 0;
...
Intent intent = new Intent(this, ActivityB.class);
startActivityForResult(intent,ACTIVITY_B );
...
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    super.onActivityResult(requestCode, resultCode, intent);
    switch (requestCode){
    case ACTIVITY_B:
        switch (resultCode){
        case RESULT_OK:
            refresh();
            break;
        }
    }
}

Или вы можете использовать другие коды результатов, чтобы сигнализировать о других событиях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...