对话框按钮不起作用

时间:2012-02-07 20:07:58

标签: android dialog

我之前发过这个帖子,但iv没有运气。这是我目前的代码。我在寻找的是。我的对话框上的按钮只需返回(或关闭)origanl 屏幕。我一直在阅读关于android中的后退按钮,它只是在我脑海中。

java.code

import my.dlog.R;
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.code

    <Button
    android:id="@+id/btn2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    android:text="Button" 
    android:onClick="DlogActivity"/>




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

2 个答案:

答案 0 :(得分:0)

您没有正确连接按钮。你在Java中找到button1的id

Button b=(Button)findViewById(R.id.button1);

但是在xml中,您为该按钮指定了一个id为btn2

<Button
    android:id="@+id/btn2"
    android:layout_width="wrap_content"
    .
    android:onClick="DlogActivity"/>

确保这些ID匹配。

答案 1 :(得分:0)

你的代码对我来说完全混乱。我怀疑你可能会对活动和对话之间的区别感到困惑。如果您要做的只是在活动之上显示一个对话框,然后在关闭对话框时返回该活动,则需要dialog.dismiss()。阅读this

如果您正在努力实现其他目标,请解释。