Android - 2 действия активны одновременно

У меня есть игровая активность. У меня также есть прозрачная ChatActivity, работающая сверху, если пользователь нажимает параметры чата из меню (onOptionsItemSelected). Проблема в том, что когда игрок запускает ChatActivity до того, как я запускаю игру, возникает странное поведение, и игра не запускается.

Можно ли как-то сохранить активность GameActivity, пока видна ChatActivity? Я запустил ChatActivity обычным способом:

startActivity(new Intent(GameActivity.this, ChatActivity.class));

Спасибо за вашу помощь.


person Nicholas Lie    schedule 01.02.2012    source источник


Ответы (3)


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

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

person JoxTraex    schedule 01.02.2012
comment
Поскольку мой ChatActivity прозрачен, я подумал, что пользователь может общаться в чате, все еще наблюдая за игрой, происходящей через прозрачную активность. Я не закончил GameActivity при запуске ChatActivity, но кажется, что GameActivity почему-то «неактивен», когда я запускаю ChatActivity. - person Nicholas Lie; 01.02.2012
comment
Именно так и должно быть. Одновременно может выполняться только одно действие. Вы делаете что-то вне дизайна андроида. - person JoxTraex; 01.02.2012
comment
Хорошо, спасибо за вашу идею. А пока я постараюсь сначала найти решение. Если я не нашел никакого решения, тогда мне придется изменить дизайн своего приложения. Большое спасибо :) - person Nicholas Lie; 01.02.2012

Вы можете взглянуть на FLAG_NOT_TOUCH_MODAL (и, возможно, FLAG_NOT_TOUCHABLE), используя 2 действия друг над другом, сделав верхнее прозрачным и присвоив ему этот флаг/эти флаги (не уверен, что вы действительно можете касаться окон, которые вы создаете в этом действии, еще не пробовал)

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

person Andreas    schedule 02.02.2012

Я знаю, что это очень-очень поздно, но этот ответ может быть полезен любому новому.

Для достижения упомянутого здесь дизайна вы можете реализовать фрагменты вместо двух действий.

person Saurabh Mishra    schedule 17.10.2018