gpt4 book ai didi

Android:从历史堆栈中清除旧的 Activity 实例

转载 作者:行者123 更新时间:2023-12-02 12:46:10 26 4
gpt4 key购买 nike

我有以下简单的场景:

  • 一项名为 的 Activity ListCarsActivity.kt 显示汽车列表的地方。当用户单击 FloatingActionButton 时,它会打开另一个名为 的 Activity 。添加CarActivity.kt
  • 当用户点击 添加汽车 按钮,我开始一个新的 Intent ,以转到现在显示添加的汽车的初始 Activity ListCarsActivity.kt。

  • 问题 :从现在开始,当我单击“后退”按钮时,ListCarsActivity 将再次显示。

    如何从历史堆栈中清除 ListCarsActivity 的旧条目?

    enter image description here

    最佳答案

    调用您的 添加CarActivity.kt 您的 中的 Activity 如下所示ListCarsActivity.kt

    val intent = Intent(mContext, AddCarActivity.class);
    startActivityForResult(intent, 1); //Use any request code

    现在对于上面的代码,startActivityForResult 所做的是从其他 Activity 或来源(如相机、联系人等)接收数据的 Intent

    现在当所有工作在您的 中完成后添加CarActivity.kt 您可以在以下所有 意向 取回结果
                    Intent intent = getIntent();
    intent.putExtra("key", data); // if you wanted to get data
    setResult(RESULT_OK, intent);
    finish();

    并在您的 内ListCarsActivity.kt 您需要添加 onActivityResult 这将从 获取数据添加CarActivity.kt
     @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    try {
    super.onActivityResult(requestCode, resultCode, data);

    if (resultCode == RESULT_OK) {
    if (requestCode == 1) { //Your request code here
    Object obj = data.getParcelableExtra("key");
    //Do as per your needs

    }
    }

    } catch (Exception ex) {
    ex.printStackTrace();
    }
    }

    有了这个,如果你想在第一个 Activity 中返回新添加的数据,可以在不使用任何第三方库的情况下获取它。

    试试看,如果它对你有用,请告诉我。

    关于Android:从历史堆栈中清除旧的 Activity 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60317274/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com