java - Activity 之间的转换不正确

标签 java android

可能是我不明白的事情。

在应用程序中(来自 google play),如果我们从主 Activity 移至第二个 Activity,然后返回主 Activity,则按手机上的“后退”按钮后,应用程序将关闭。

我尝试用两个 Activity 制作自己的应用程序,但它没有按预期工作。当主要 Activity 转到第二个 Activity ,然后我返回到主要 Activity 时,按手机上的“后退”按钮后,应用程序不会关闭,而是返回到第二个 Activity ,然后回到主要 Activity ,然后它就关闭了。

我做错了什么?

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button Act2Butt = (Button) findViewById(R.id.Act2Butt);

        Act2Butt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, Main2Activity.class);
                startActivity(intent);
            }
        });

    }

.

public class Main2Activity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

    Button Act1Butt = (Button) findViewById(R.id.Act1Butt);

    Act1Butt.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(Main2Activity.this, MainActivity.class );
            startActivity(intent);
        }
    });

    }
}

最佳答案

要从Main2Activity返回MainActivity,您需要调用onBackPressed()finish(),而不是startActivity

关于java - Activity 之间的转换不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44270194/

相关文章:

java - android 应用程序中的 proguard 错误 : -keep class com.gravityrd.* { ; }

java - XML格式验证

java - 使用 Spring 框架在矩阵中直接注入(inject) double 值

android - 使用直接标记化的 Google Pay 付款集成

java - 从 Play 商店下载时出现类未找到异常

java - 尽管之前在 AsyncTask 类中定义过,但 JSON 对象为 null?

java - 同步多个计时器以提高/降低速度

Android 12 设备所有者配置

Android View setActive、setSelected 和 RecyclerView 状态

java - ObjectInputStream 无法正确转换对象