Подтвердить что ты не робот

Android: переключения экранов с новой активностью или просто изменение содержимого

Я делаю игру, где я выйду с главного экрана на экран сражения и спину, когда битва закончится. Лучше ли иметь два экрана в качестве отдельных действий или я могу получить с помощью setContentView (R.layout.screen2)?

Я пытаюсь заставить экран переключения активности работать, но каждый раз, когда я его пытаюсь, мой телефон говорит мне, что приложение не отвечает. Если лучше использовать действия, то я потрачу время, чтобы разобраться в этом, но на данный момент я сделаю простой выход, чтобы заставить все работать.

4b9b3361

Ответ 1

Вызов setContentView() несколько раз не рекомендуется. Обычный способ переключения между макетами в одном и том же действии - использовать ViewFlipper или FrameLayout (см. Вызов setContentView() несколько раз и Как я могу сделать динамический перелистывающий экран (например, iPhone) в Android)

В качестве альтернативы вы можете использовать ViewSwitcher, который, по-видимому, подходит вашим потребностям довольно хорошо. Там хороший подробный учебник доступен на http://inphamousdevelopment.wordpress.com/2010/10/11/using-a-viewswitcher-in-your-android-xml-layouts/

Ответ 2

Простейшим способом динамического изменения вида активности было бы раздувание целевого представления в корневую группу активности ViewGroup (предпочтительно FrameLayout). Это всего лишь код с одной строкой

inflater.inflate(R.layout.target_view,(ViewGroup)findViewById(R.id.activity_root_viewgroup), true);