对话框中的后退按钮

时间:2012-02-04 19:52:17

标签: android dialog

我试图让对话框中的后退按钮返回到原始屏幕。我不知道我是否拥有所需的所有进口产品。有人能告诉我哪里出错了吗?

Java代码:

package my.dlog;

import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.view.View.OnClickListener;

public class DlogActivity extends Activity {
  /** Called when the activity is first created. */
  Dialog dialog;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    dialog = new Dialog(this);
    dialog.setContentView(R.layout.main2);
    dialog.setTitle("This is my custom dialog box");
    dialog.setCancelable(true);
    Button b=(Button)findViewById(R.id.button1);

    b.setOnClickListener(new OnClickListener() {
      public void onBackPressed() {
        Intent intent = new Intent(DlogActivity.this, DlogActivity.class);
        startActivity(intent);
        finish();
      }

      public void onClick(View v) {
        dialog.show();
      }
    });
  }
}

XML:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:baselineAligned="false"
    android:minHeight="400dp"
    android:minWidth="300dp" android:background="@drawable/mint1">

  <Button
      android:id="@+id/button1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Button" />

  <ImageView
      android:layout_width="236dp"
      android:layout_height="220dp"
      android:layout_marginRight="100dp" android:background="@drawable/carsee"/>

  <RelativeLayout
      android:id="@+id/relativeLayout1"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent" >
  </RelativeLayout>
</LinearLayout>

2 个答案:

答案 0 :(得分:1)

b.setOnClickListener(new OnClickListener() {
    public void onBackPressed() {
       dialog.cancel();
// Simply Dismiss the dialog to make it close and return to back..
/*What you are using is not a valid construct */   
}

还要确保 button1 in in main layout ,因为您已直接使用findViewById(R.id.button1)来设置内容视图

答案 1 :(得分:0)

通常,后退按钮在没有我们任何帮助的情况下工作。如果你拿

public void onBackPressed() {
Intent intent = new Intent(DlogActivity.this, DlogActivity.class);
startActivity(intent);
finish();
}

out,当你按'后退'时会发生什么?如果这不是你想要的,那么你会发生什么呢?如果没有错误,我认为你有所需的进口 崖