gpt4 book ai didi

android - Activity 未完成

转载 作者:行者123 更新时间:2023-11-29 21:16:00 29 4
gpt4 key购买 nike

我有一个包含 DatePickerDialogDialogFragment。每当我设置日期时,一项新 Activity 就会开始。当我按回去时,它会返回到相同的 Activity 。为什么 Activity 没有完成?

在 Activity 中,我使用以下方法启动对话框:

@Override
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case R.id.calendar:
new ViewCalendar().show(getFragmentManager(), "Calendar");
return true;
}
return false;
}

我在 fragment 中有以下内容:

@Override
public void onDateSet(DatePicker view, int y, int m, int d) {
c.set(y, m, d);
Intent intent = new Intent(getActivity(), Calendar.class);
getActivity().finish();
startActivity(intent);
}

编辑:

我将对问题进行更多描述。

我有一个 Activity A,它带有一个启动 DatePickerDialog 的按钮。我选择一个日期,应该会发生以下情况:

  • Activity A 完成。
  • 已创建 Activity A 的新实例。

现在发生的事情是:

  • Activity A 停留在后台。
  • 已创建 Activity A 的新实例。

Activity 堆栈现在是 A - A,这就是为什么如果我按回它会返回到旧实例。

最佳答案

实际上你的Back stack并不清楚,这就是你之前的 Activity 在打开时打开的原因向后按。所以正确地清除你的后退堆栈,它会完美地工作。

应用此代码:

@Override
public void onDateSet(DatePicker view, int y, int m, int d) {
c.set(y, m, d);
Intent intent = new Intent(getActivity(), Calendar.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
getActivity().finish();
}

关于android - Activity 未完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21426082/

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