簡體   English   中英

返回主屏幕,然后返回上一個活動

[英]Returning to the Home Screen and then returning to last activity

有真正的問題了解如何解決我的問題。

在主屏幕上,我有 2 個按鈕

當用戶單擊第一個按鈕時,它會啟動一個新的 Activity。 我正在尋找的是如果用戶點擊返回應用程序返回到主屏幕。 如果用戶再次單擊第一個按鈕,它將啟動一個新活動。

如果用戶單擊第二個按鈕,它將返回到上次通過單擊按鈕 1 啟動的活動

我遇到的問題是當用戶點擊返回時如何保存活動的 state 還有如何在按下第二個按鈕時調用該活動

謝謝你的時間

更新

我已經完成了其中的一部分,但仍然有問題。 如果我放一些我正在使用的代碼,也許有人可以指出我出錯的地方。

從主菜單調用新活動的代碼

Intent intent = new Intent(MainMenu.this, NewClass.class);
        intent.putExtra("value1", value1);  
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);

在新的 class 中,我添加了以下內容:

    @Override
public void onBackPressed() {
    //super.onBackPressed();
    Intent intent = new Intent(RoundScoring.this, MainMenu.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
    startActivity(intent);
    Toast.makeText(this, "Back Button Pressed", Toast.LENGTH_LONG).show();
}

我在這個 class 中沒有 onrestoreinstancestate 或 onresumne。 只有一個oncreate。 我是否必須添加類似這樣的內容才能恢復實例

在主菜單的第二個按鈕上,我添加了這個

Intent intentContiune = new Intent(MainMenu.this, NewClass.class);
            intentContiune.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
            startActivity(intentContiune);

謝謝

嘗試這個:

主屏幕左鍵:打開帶有意圖標志的新活動,FLAG_ACTIVITY_NEW_TASK

Activity:在已啟動的 Activity 上覆蓋 onBackClick() 以使用 Intent 調用主屏幕,而不是完成它。 使用標志 FLAG_ACTIVITY_REORDER_TO_FRONT 保存活動 state 覆蓋 OnSaveInstanceState

主屏幕右按鈕:使用標志 FLAG_ACTIVITY_SINGLE_TOP 調用活動

有關標志的更多信息: http://blog.akquinet.de/2010/04/15/android-activites-and-tasks-series-intent-flags/

一種解決方案可能涉及傳遞包含您活動的 state 的捆綁包。 使用 startActivityForResult(),您可以返回帶有活動 state 的包。 當用戶單擊您的第二個按鈕時,傳入該捆綁包並根據捆綁包的內容設置活動。 如果捆綁包不包含您要查找的信息,則使用默認值,就像您剛剛啟動它一樣。

了解更多信息:

Android:捕獲活動的返回

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM