1

我正在尝试在android中构建一个记事本应用程序。我在这种情况下,当用户选择创建新文件同时仍在处理文件时,应用程序应首先要求保存,然后重新启动 MainActivity 以创建新文件。

所以,基本上,顺序如下:

-> 处理当前文件
-> 单击新文件
-> 保存对话框
-> 重新启动 MainActivity。

为此,我一直在使用一种名为 new file 的方法,如下所示:

public void new_file()
    {
        save_file();
        Intent intent = new Intent(this, MainActivity.class);
        startActivity(intent);
    }

这里的问题是,每次我运行应用程序并输入这部分代码时,都会弹出对话框并立即创建一个新文件。

我想知道如何先让 Activity 完成 save_file() 方法调用,然后再让 Activity 重新启动。

提前致谢

4

2 回答 2

0

看起来它工作正常,但没有看到 safe_file() 代码(顺便说一句:考虑切换到更标准的函数命名约定)很难确定,但请注意对话框是异步的,因此您无法启动对话框并期望所有进一步的代码等待对话框关闭。我假设您在 safe_file() 方法中弹出对话框,因此您应该在完成保存后回调以从那里开始新活动,或者您应该在对话框单击侦听器中执行此操作。

于 2012-08-22T17:37:49.183 回答
0

使用 AlertDialog 机制的NegativePositiveNeutral按钮来检测用户何时退出对话框。然后,使用 OnClickListener 来决定单击了哪个按钮,然后才重新启动 Activity。就像是:

  1. 显示对话框
  2. 等待其中一个按钮被点击
  3. 单击按钮时重新启动活动,因为这意味着用户正在退出对话框。
于 2012-08-22T17:42:19.147 回答