2013-11-28 2 views
0

final View view1 = getLayoutInflater().inflate( R.layout.activity, homescreen, false);вид надуйте и обратно ключ андроида или onBackPressed()

Мы используем getLayoutInflater() раздувать собственные взгляды на деятельность. Таким образом, поток - это когда пользователь нажимает на одну кнопку, мы удаляем один вид и раздуваем другой вид в той же активности. Теперь проблема с этим подходом заключается в том, что если вы нажмете на кнопку «назад» телефона, приложение выходит из строя. Нам очень хочется добраться до предыдущего макета.

  1. Есть ли метод, предоставляемый android, который мы должны реализовать?
  2. ручки назад ключи на SetOnKeyListner каждого зрения
  3. Handle onBackPressed() деятельности, чтобы увидеть, какой вид в настоящее время на и вручную раздувать другой вид
  4. Использовать фрагмент транзакции?
  5. Любой другой подход?

ответ

0

1.Есть ли метод, предоставляемый андроидом, который мы должны реализовать?

Нет. Хотя приемлемо заменять виды внутри Activity, нет удобного способа хранения коллекции View и навигации между ними.

2.Handle ключи обратно на SetOnKeyListner каждого зрения

Определенно нет.

3.Handle onBackPressed() деятельности, чтобы увидеть, какое представление в настоящее время на и вручную раздувать другой вид

Handling НАЗАД нажмите является то, что должно быть сделано только в случае крайней необходимости. Вы должны помнить, что пользователи устройств Android ожидают регулярного использования и ощущения - отклонение слишком далеко от ожидаемого поведения может сделать ваше приложение менее привлекательным. Говоря, что, в зависимости от того, что делает ваше приложение, обработка BACK на уровне активности может быть приемлемой, но у вас все еще нет простого способа управления стеком Views.

4.Используйте фрагмент транзакции?

Да. Определенно предпочтительный подход.Фрагменты объединяют функции суб-активности, а также вид в модульной форме. ОС также будет обрабатывать задний стек, чтобы сделать вашу жизнь намного проще, когда дело доходит до кодирования приложения.

1

я бы рекомендую использовать Fragments

вы можете добавить фрагменты к backstack, так что вы можете управлять backnavigation в приложении.

0

Лучший из них будет реализовывать вашу логику с помощью ViewFlipper или Pager, там вы можете перемещаться между представлениями и управлять ими с помощью кнопок. Учитывая ваш сценарий, вы можете изменять вид или страницу с помощью кнопок, оба виджета имеют очень хорошую поддержку для этого.

Во время обратного пресса вы можете легко вернуться к предыдущей странице, пока она не станет первой, и после этого вы можете просто закончить свою деятельность.

Надеюсь, что это поможет.

 Смежные вопросы

  • Нет связанных вопросов^_^