Android: захват возврата активности

У меня есть вопрос о начале новых мероприятий. Это сводится к этому. У меня есть 3 вкладки на вид

A) contains gMap activity B) camera activity C) some random text fields. 

Требование состоит в том, что приложение работает в режиме портрета.

Все 3 вкладки работают так, как ожидалось, за исключением поверхности предварительного просмотра камеры (B). Он поворачивается на 90 gradleусов. Это единственный способ сделать это правильно – настроить приложение на пейзаж, который бросает все мои вкладки, и в значительной степени не работает.

Мое решение таково: заменить

моя активность камеры с регулярной активностью, которая пуста с исключением

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

Это запускает мою CameraActivity. И это прекрасно работает. Я должен был сделать линейный макет и включить 3 изображения, которые выглядят как настоящие вкладки, поэтому я могу попытаться имитировать работу вкладок, поворачивая экран до пейзажа и сохраняя визуальные эффекты как портрет. Пользователь может щелкнуть одно из изображений (кнопок), чтобы отобразить следующую вкладку. Это моя проблема. Он должен выйти из моей «активности камеры», возвращаясь к «пустой активности» на вкладке, где ее следует интерпретировать, чтобы щелкнуть вкладку «Желаемые» с моего изображения.

Главное, когда он возвращается, он возвращается к пустой (черной) странице под вкладкой (потому что она «пуста»). Как я могу захватить возвращаемое событие назад на страницу, которая называется активностью, а затем посмотреть, какие действия они выполнили?

Я могу установить onclicklistener, где я могу ответить на поддельные вкладки (изображения), которые нужно щелкнуть, чтобы выйти из действия камеры. При выходе вкладка должна обновляться так, чтобы она возвращалась. какие-либо предложения?

Благодаря,

    Я сосредоточусь на ответе на то, как разрешить ваш рабочий стол так, чтобы он вел себя так, как вам хочется.

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

    Запустите вторичную активность (свою «активность камеры») как субактивность, используя startActivityForResult вместо startActivity .

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

    В пределах субактивности (активность камеры) вместо того, чтобы просто закрывать Activity, когда пользователь нажимает на другое изображение вкладки, вам нужно создать новый Intent и включить индекс вкладки, отображаемой при возврате в родительское приложение с помощью пакета дополнительных компонентов , Чтобы передать его обратно родительскому вызову 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; } } } 
    Interesting Posts

    Проверить, существует ли файл

    Пауза для всех задач, отличных от x ЦП

    Как включить ошибки привязки в исключения во время выполнения?

    Не удалось загрузить class дескриптора модуля: не нашел class «com.google.android.gms.dynamite.descriptors.com.google.firebase.auth.ModuleDescriptor»

    Я обновился до Windows 10, и теперь я заблокирован из своего компьютера

    Почему передача char ** как const char ** генерирует предупреждение?

    Регулярное выражение пунктуации в Java

    Как проверить программно, если приложение установлено или нет в Android?

    Использование NSString в операторе switch

    Содержит ли сборщик мусора статические переменные или методы в java?

    Как я могу перебирать карту из ?

    Должен ли я помещать свою операционную систему или мои рабочие файлы на более быстрый жесткий диск?

    Печать с помощью sed или awk строки, соответствующей шаблону соответствия

    Что такое randomart, созданный ssh-keygen?

    Использование камеры в эмуляторе Android

    Давайте будем гением компьютера.