android - 安卓如何随意控制两种界面的切换?
大家讲道理
大家讲道理 2017-04-18 09:18:55
0
3
588

app的Activity分为两类A和B,共两个入口,app会定期接收网络消息,根据接收到的消息切换界面。
可能在A的页面时需要切换到B的入口,在B的页面时需要切换到A的入口。应该怎么实现?包括界面切换和activity的销毁。

我目前的想法让两类Activity分别继承不同的BaseActivity,然后在Application中保存网络消息的状态,同时保存当前显示的Activity的引用,状态改变的时候根据当前Activity的类型判断是否要做界面切换。
但具体怎么控制Activity的销毁,我不是很清楚。
我的想法是保存当前所有创建了的Activity,在切换页面后,只保留切换后的Activity,销毁其余Activity。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全員に返信(3)
迷茫

この問題は、すべてのアクティビティが標準モードで開始されるようになり、すべてのアクティビティが 1 つのタスク内に保存され、新しいアクティビティに切り替えるときに、現在のアクティビティが保存されるようになりました。アクティビティが呼び出されます。finishAffinity メソッドは、現在実行中のアクティビティをすべて終了し、新しいアクティビティを開きます。アクティビティを切り替えるコードは、Application で記述するのが最適です。アクティビティの親和性については、こちらの記事 http://www.androidchina.net/2...

をご覧ください。 リーリー
いいねを押す +0
伊谢尔伦

ニーズがよくわかりません。サーバー経由でアクティビティの開始と終了を制御したいですか?

いいねを押す +0
左手右手慢动作

baseActivity を記述するだけです。たとえば、現在 2 種類のアクティビティがある場合、baseActivity にブール値の抽象メソッドを記述できます。それが true を返す場合、それはタイプ A のアクティビティとみなされます。次に、アクティビティ管理クラスを作成し、それをbaseActivityにカプセル化します。アクティビティが開始されるたびに、そのアクティビティはリスト コレクションに追加され、タイプが保存されます。その後、タイプを切り替えたい場合は、別のタイプのアクティビティを直接開始できます。前のアクティビティを破棄するには、アクティビティ管理クラスを使用して、スタック内の別のタイプのアクティビティを直接削除します。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート