代码之家  ›  专栏  ›  技术社区  ›  cambraca

关闭OnCreate上的活动

  •  9
  • cambraca  · 技术社区  · 14 年前

    我要打开一个 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 回复  |  直到 12 年前
        1
  •  10
  •   Mudassir    12 年前

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

        2
  •  7
  •   Patrick Boos Luis    14 年前

    在创建时执行此操作

    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"/>
    

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