在Android中取消警报后调用onResume方法?

alo*_*kes 10 android onresume android-alertdialog

我想知道当用户在警告对话框上按下"是"并且该对话被解除时,该事件是否执行用户所在活动的onResume方法.

因为我有一个"清洁"按钮,询问用户是否确实要清除表单的所有字段(活动),以便用空字段重绘活动..表单是动态创建的,所以我不知道先了解GUI中的元素,将它们设置为空...

对不起,我的英语不好!!

谢谢和问候!

Jay*_*der 19

不确定这是否应该采取的方法,但你应该能够做我认为你要求的.如果由于某种原因这是你想要实现的.

AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setMessage("Do you want to clean?")
      .setPositiveButton("Yes", new DialogInterface.OnClickListener()
      {
        public void onClick(DialogInterface dialog, int id)
        {
          dialog.dismiss();
          ((ActivityName) appContext).onResume();
        }
      })
      .setNegativeButton("No", new DialogInterface.OnClickListener()
      {
        public void onClick(DialogInterface dialog, int id)
        {
          dialog.dismiss();
        }
      });
    builder.create().show();
}
Run Code Online (Sandbox Code Playgroud)

你真的想要调用你的清洁功能,而不是像成功的生命周期调用,而在失败时什么都不做.

另一种可能的方法是使用标志将当前活动带回到前面.

Intent intent = new Intent(this, CurrentlyRunningActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

这也提供了一种方法来调用你的主要活动而不直接引用onResume()调用,正如所指出的那样不是合适的方法; 但是,我确实想直接回答问题.

  • 手动调用`onResume`是绝对没有办法* (6认同)