关闭onCreate上的活动

时间:2010-11-11 04:41:12

标签: android android-activity

我正在使用以下内容打开Activity

startActivity(new Intent(Parent.this, Child.class));

对于孩子,我在onCreate函数上有这个代码(当然if包含的不仅仅是true):

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (true) {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setPositiveButton("OK", null);
        builder.setTitle("Error");
        builder.setMessage("Connection error, please try later.")
            .show();
        finishActivity(0);
        return;
    }
}

为什么活动没有结束?我收到警报框,但是我必须点击“后退”按钮才能返回。

2 个答案:

答案 0 :(得分:10)

尝试使用finish()方法关闭活动。

答案 1 :(得分:7)

在创建

中执行此操作
if (true) {
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setPositiveButton("OK", null)
           .setTitle("Error")
           .setMessage("Connection error, please try later.")
           .setCancelable(false)
           .setPositiveButton("_Yes",
                  new DialogInterface.OnClickListener() {
                      public void onClick(DialogInterface dialog, int id) {
                          finish();
                  }
           })
           .show();
    return;
}

并在您的AndroidManifest.xml中执行以下操作:

<activity class="MyDialogActivity" android:theme="@android:style/Theme.Dialog"/>

现在,您将启动Activity并显示Dialog。感觉就像只有用户的对话框。显示了一个活动,但它在对话框后面。所以效果还可以。否则,您可以在活动本身(setcontentview)中创建对话框。