概述按钮切换活动

问题描述

我有2个活动,活动A和活动B。我的应用程序从活动A启动,活动A上有一个按钮,该按钮通向活动B。当我处于活动B中时,我按概述按钮(方形按钮),然后选择我的应用。当我的应用加载时,活动B被销毁,而是加载到活动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();

}

}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...