回到之前在android中有一个对话框的活动

时间:2016-03-02 05:47:32

标签: android android-intent android-activity android-actionbar android-navigation

我有一个带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();

        }

运行代码时,单击后退按钮会显示对话框并转到第一个屏幕。 现在我想直接点击后退按钮显示第一个屏幕而不显示对话框。怎么可能?

如果有一个文本框,如何清除第一个屏幕?

5 个答案:

答案 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);