我的代碼讓我推出新的活動/類:Android--而不是發佈新的類/活動的新意圖,如何回到打開活動/類?
Intent intent = new Intent(activity1.this, activity2.class);
startActivity(intent);
finish();
如果我有一個活動已經打開了,只想回到它,而不是重新打開一個新的,因此具有多個打開同樣..所以我想切換回已經開放的活動/課程?
我的代碼讓我推出新的活動/類:Android--而不是發佈新的類/活動的新意圖,如何回到打開活動/類?
Intent intent = new Intent(activity1.this, activity2.class);
startActivity(intent);
finish();
如果我有一個活動已經打開了,只想回到它,而不是重新打開一個新的,因此具有多個打開同樣..所以我想切換回已經開放的活動/課程?
Intent intent = new Intent(activity1.this, activity2.class);
intent .setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
這是一回事。 Android操作系統不會創建兩個不同版本的活動,它與已經創建的活動一起工作。
真正簡單:
finish();
如果你想選擇在堆棧中已經存在的活動,而不是簡單地將最新的打開,這將是更加複雜的,我不知道你是否能修改普通應用流程
在我的第一(主要)活動/課堂上有一些理由,當我從其他活動中使用意向時,它會以相同佈局/活動中的兩個開放..任何想法? – David 2012-01-08 15:37:43
添加此
FLAG_ACTIVITY_REORDER_TO_FRONT to your Intent you use with startActivity() .
同時刪除完成()
Intent.FLAG_ACTIVITY_REORDER_TO_FRONT(這裏是什麼?); ?? – David 2012-01-08 15:59:41
沒有什麼去那裏你只是爲這樣的intent設置標誌.. intent.FLAG_ACTIVITY_REORDER_TO_FRONT; – 2012-01-08 17:17:37
如果我收到您的信息,您需要使用Intent.FLAG_ACTIVITY_REORDER_TO_FRONT標誌。在這種情況下,您的活動(如果它是之前創建的)將被帶到最前面。作爲documentation states,
如果)傳遞給Context.startActivity(一個Intent設置, 此標誌將導致啓動的活動被帶到 其任務的歷史堆棧的前方,如果它已經在運行。
Intent.FLAG_ACTIVITY_REORDER_TO_FRONT(this); ?
第二個選項。像:'Intent preferencesIntent = new Intent(this,Preferences.class); preferencesIntent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); startActivity(preferencesIntent);' – ai212983 2012-01-08 16:19:25
沒有完成(),它會創造無限量的相同活動,這是促使我使用面漆()...但我可以有老年活動在一個開放already.launch新活動意圖在新的活動結束,並將有多個相同的活動開放... – David 2012-01-08 15:34:21
@David,startActivity()意味着調用onStart方法,而不是創建 – 2012-01-08 15:35:57
由於更多的請解釋,我沿着.. – David 2012-01-08 15:47:06