從A Activity跳轉 B1 Activity,B1跳轉回A但B1不finish,再從A跳轉B2 Activity,B2跳轉回A但B2不finish,B1和B2都是同一個Activity類的啟動的不同實體。我現在需要從A跳轉到已存在的B1,我嘗試在A跳轉前加Intent.FLAG_ACTIVITY_REORDER_TO_FRONT,只會跳到最近的B2.再嘗試加action,category都是跳到最近的B2,我能獲取到整個Activity堆疊但好像除了startActivity以外沒有其他挑起Activity的方法了。附上回傳A Activity的代碼。
Intent intent=new Intent(B1.this,A.class); intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);startActivity(intent);
uj5u.com熱心網友回復:
新建B2的時候利用Flag動態設定啟動模式singleInstance,他就會存在于一個單獨的activity堆疊。就不會影響當前堆疊的跳轉。得根據你的實際需求來,一般同一個activity堆疊里面存在兩個同型別的不同物體是不合理得也很浪費。雖然我不清楚你的需求,但是啟動模式都試試一般能解決你的問題。uj5u.com熱心網友回復:
或者你說說你的需求,為什么要這樣去實作,大神們說不定有更好的解決辦法,根本不需要這樣跳uj5u.com熱心網友回復:
兄弟們,Activity的啟動模式這些我都知道,現在我就是不想復用Activity,因為我的需求中動態創建的Activity中的控制元件都是一樣的,但是加載一段復雜的時間,整個軟體就幾個頁面而已,對記憶體開銷不需要考慮太多,我現在是要第二次打開新的Activity不需要創建(有一段加載時間)能直接顯示。然后我試著上面的--目的就是打開指定的Activity實體,這些實體在堆疊中由同一個Activity類新建的。我不是新手了,對于啟動模式和flag都很了解了,但是我自己測驗的時候碰到了這個問題,不是為了實作需求而換方法,我用fragment切換也行啊,但是-目的就是打開指定的Activity實體uj5u.com熱心網友回復:
搞了半天,用堆疊應該是解決不了了,B1B2改成2個Activity,或者用2個fragment吧uj5u.com熱心網友回復:
activity.moveTaskToBack ??uj5u.com熱心網友回復:
手機版 WPS 應該是有類似功能轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/30515.html
標籤:Android
下一篇:QT widget
