我的main.class
文件中有一个简单的代码文本,用于创建popup
对话框。当我尝试使用finish();
方法关闭popupdialog时,它会关闭整个应用程序,而不仅仅是弹出对话框。我怎么解决这个问题? (这是针对android的,请看下面的评论)。
这是代码:
Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.start_dialog);
dialog.setTitle("This is my custom dialog box");
dialog.setCancelable(true);
//there are a lot of settings, for dialog, check them all out!
//set up text
TextView text = (TextView) dialog.findViewById(R.id.TextView01);
text.setText(R.string.loss);
//set up image view
ImageView img = (ImageView) dialog.findViewById(R.id.ImageView01);
img.setImageResource(R.drawable.golf_ball);
//set up button
Button button = (Button) dialog.findViewById(R.id.Button01);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
//now that the dialog is set up, it's time to show it
dialog.show();
答案 0 :(得分:0)
Jesmar,
您好,欢迎。
您可能打算使用Dialog
上的dismiss
功能。
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
干杯!
答案 1 :(得分:0)
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
实际上,finish()属于您的活动,而不是您的对话框。改为使用dialog.dismiss()
答案 2 :(得分:0)
使用cancel()或dismiss()
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.cancel();
}
});
或
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});