簡體   English   中英

概覽按鈕切換活動

[英]Overview button switches activity

我有 2 個活動 Activity A 和 Activity B。我的應用程序從 Activity A 開始,我在 Activity A 上有一個按鈕指向 Activity B。當我在 Activity B 中時,我按下概覽按鈕(方形按鈕)並選擇我的應用程序。 當我的應用程序加載時,Activity B 被銷毀,而是加載到 Activity A 中。 這是怎么回事,我如何讓它保存我的設置並加載到活動 B 中?

通過擴展,我有一個應用程序可以加載到 firebase 身份驗證中,然后在 firebase 數據庫上運行。 按下概覽按鈕時如何保存它的狀態? 我是否需要使用 firebase 身份驗證保存任何內容,還是只保存訪問和管理 firebase 數據庫所需的所有數據?

我在上面看了幾個視頻,他們在談論屏幕旋轉和保存狀態,但是關於概覽按鈕的信息很少。

謝謝,雷納爾多

將當前活動保存到共享首選項中的一個值,然后檢查活動 A 的 onCreate 方法中的值如何。您可以使用 switch 語句重定向到用戶之前所在的任何活動。

活動 A 將如下所示:

public class A extends AppCompatActivity {

private String currentActivity;
private final String CURRENT_ACT = "current activity";
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    SharedPreferences sharedPreferences = getSharedPreferences("shared preferences", MODE_PRIVATE);
    currentActivity = sharedPreferences.getString(CURRENT_ACT, "A");

    switch (currentActivity){
        case "A":
            break;

        case "B":
            Intent intent = new Intent(this, B.class);
            startActivity(intent);
            break;
    }

}

}

B 看起來像這樣:

public class B extends AppCompatActivity {

private String currentActivity;
private final String CURRENT_ACT = "current activity";

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    currentActivity = "B";

    SharedPreferences sharedPreferences = getSharedPreferences("shared preferences", MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putString(CURRENT_ACT,currentActivity);
    editor.commit();

}

}

暫無
暫無

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

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