Android: Получение возврата действия

81
задан Alex Lockwood 2 July 2012 в 03:59
поделиться

1 ответ

Я сфокусируюсь на ответе, как разрешить Ваш workround так, чтобы это вело себя, как Вы хотите.

Для получения действий, выполненных на одном Действии в другом, требует трех шагов.

Запуск вторичное Действие (Ваше 'Действие камеры') как поддействие при помощи startActivityForResult вместо startActivity.

Intent i = new Intent(this,CameraActivity.class);    
startActivityForResult(i, STATIC_INTEGER_VALUE);

В рамках поддействия (Действие камеры), вместо того, чтобы просто закрыть Действие, когда пользователь нажимает на различное изображение вкладки, необходимо создать новое Намерение и включать индекс вкладки для отображения, когда Вы возвращаетесь к родительскому приложению с помощью пакета отдельно оплачиваемых предметов. Пасовать назад его к родительскому вызову setResult прежде, чем звонить finish для закрытия Действия камеры.

resultIntent = new Intent(null);
resultIntent.putExtra(PUBLIC_STATIC_STRING_IDENTIFIER, tabIndexValue);
setResult(Activity.RESULT_OK, resultIntent);
finish();

заключительный шаг находится в активности вызовов, переопределите onActivityResult для прислушиваний к обратным вызовам от Действия камеры. Получите дополнительное от возвращенного Намерения определить индекс вкладки, которую необходимо отображать.

@Override 
public void onActivityResult(int requestCode, int resultCode, Intent data) {     
  super.onActivityResult(requestCode, resultCode, data); 
  switch(requestCode) { 
    case (STATIC_INTEGER_VALUE) : { 
      if (resultCode == Activity.RESULT_OK) { 
      int tabIndex = data.getIntExtra(PUBLIC_STATIC_STRING_IDENTIFIER);
      // TODO Switch tabs using the index.
      } 
      break; 
    } 
  } 
} 
158
ответ дан Reto Meier 24 November 2019 в 09:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: