我有一个带2个屏幕的android应用程序。我从第一个屏幕到第二个屏幕时设置了一个对话框。我的代码是:
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(MainActivity.this);
pDialog.setTitle("Please wait");
pDialog.setMessage("Authenticating User");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.setCanceledOnTouchOutside(false);
pDialog.show();
Intent it = new Intent(MainActivity.this, SecondActivity.class);
it.putExtra("invoiceid", invc);
it.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(it);
//finish();
}
运行代码时,单击后退按钮会显示对话框并转到第一个屏幕。 现在我想直接点击后退按钮显示第一个屏幕而不显示对话框。怎么可能?
如果有一个文本框,如何清除第一个屏幕?
答案 0 :(得分:2)
public void dismiss()
在API级别1中添加。关闭对话框,将其从屏幕上删除。 可以从任何线程安全地调用此方法。请注意你 当对话框出现时,不应该覆盖此方法来进行清理 驳回。
pDialog.dismiss();
Intent it = new Intent(MainActivity.this, SecondActivity.class);
it.putExtra("invoiceid", invc);
it.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(it);
答案 1 :(得分:1)
尝试使用
Intent it = new Intent(MainActivity.this, SecondActivity.class);
it.putExtra("invoiceid", invc);
it.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
pDialog.dismiss();
startActivity(it);
答案 2 :(得分:1)
试试这个
pDialog.dismiss() before startActivity(it)
答案 3 :(得分:1)
在pDialog.dismiss()
之前尝试startActivity(it);
如果要在转移任何活动之前将第一个活动集文本中的任何TextBox中的任何数据清除到EditText "" ,它将清除EditText中的数据。
答案 4 :(得分:0)
在将其移至其他活动之前,您必须先解除dialogBox
。
在onPostExecute中添加你的意图
pDialog.dismiss();
然后调用你的意图
Intent it = new Intent(MainActivity.this, SecondActivity.class);
it.putExtra("invoiceid", invc);
it.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(it);