2016-03-22 12 views
0

2つのアクティビティ(音声チャットアクティビティ&メッセージチャットアクティビティ)があります。現在のところ、両方のアクティビティは絶対にうまく動作していますが、今は両方のアクティビティにWhatsappメッセンジャーのように同時に動作する必要があります。現在のアクティビティを強制終了せずに新しいアクティビティを開始する方法

音声チャットのアクティビティには、メッセージチャットのアクティビティに入るボタンがありますが、メッセージチャットのアクティビティが開始されると、音声チャットのアクティビティは機能しなくなります。

Whatsappメッセンジャーのような2つのアクティビティを切り替える方法はありますか。

+0

何をしているのかを示すコードスニペットがありますか?それが助けになるだろう。私はどこかで 'finish()'を呼んでいると思いますか? –

+0

あなたのソリューションは、その1つをサービスのような別のプロセスに入れることです。あなたのアクティビティがオーディオチャットを処理しているように、あなたのアクティビティが画面上で更新されるサービスからテキストアップデートを受け取ります。アプリのさまざまな部分をナビゲートしながらオーディオチャットを続行するには、別のサービスも必要です。 – NoChinDeluxe

+0

質問は誤解を招くものです。より具体的な内容で、あなたが望むものを言い換えてください。ライフサイクル(したがって、 '' A.onPause().''、 '' B.onCreate() ''、 '' B.onResume() '...のように、現在のアクティビティを殺してはいません。 – Bonatti

答えて

1

アプローチを変更する必要があります。新しいアクティビティーBを開始すると、アクティビティーAは一時停止して動作しません。あなたの目的のために、あなたは、単一の活動や表示/非表示要素(例えば:メッセージボックスとaudiobox)

0

別のアクティビティの下に座っている活動が殺されることはありません飽きないことを保証する方法はありませんを使用する必要があります。 Androidは、必要なときにメモリを再利用するためにこれを行うことができます。これは、限られたリソースを持つデバイスを容易にするためにAndroidが設計されたやり方です。

代わりに、ユーザーがテキストチャットと音声チャットをシームレスに切り替えるようにするには、同じアクティビティの2つのコンポーネント間でUIを維持する必要があります。最も簡単な方法は、アクティビティーのビュー階層に2つの異なるビュー・セットを持たせ、それらの可視性を変更することによってそれらのビューを切り替えることです。

関連する問題