这是我的初始化代码AlertDialog
; buildexit
is AlertDialog.Builder
and exitalert
is AlertDialog
:
buildexit=new AlertDialog.Builder(this);
buildexit.setTitle("Exit?");
buildexit.setIcon(R.drawable.ic_action_warning);
buildexit.setMessage("Do you want to really exit?");
buildexit.setPositiveButton("Yes", this);
buildexit.setNegativeButton("No", this);
exitalert=buildexit.create();
我想使用终止应用程序Activity.finish()
方法当用户单击“是”按钮时,如果单击“否”则不会发生任何事情,我还实现了android.content.DialogInterface.OnClickListener
接口,实现的方法是public void onClick(DialogInterface arg0, int arg1)
.
提前致谢。
我知道这是一个老问题,但如果你像我一样,因为你在谷歌搜索而在这里结束,这可能就是你正在寻找的东西。
为了避免创建新的DialogInterface.onClickListener()
对于每个按钮,您可以让类实现AlertDialog.OnClickListener
,然后覆盖public void onClick(DialogInterface dialog, int which)
.
The int which
此方法中是被单击的按钮或位置。请参阅安卓参考 https://developer.android.com/reference/android/content/DialogInterface.html#BUTTON1了解更多详细信息。
因此,如果您想检查单击了哪个按钮,您可以使用 switch-case 并查找常量BUTTON_NEGATIVE
, BUTTON_NEUTRAL
, and BUTTON_POSITIVE
.
Example:
// skipping package and imports
public class TestActivity extends Activity implements AlertDialog.OnClickListener {
void createAndShowDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.title);
builder.setMessage(R.string.message);
builder.setPositiveButton(android.R.string.yes, this);
builder.setNeutralButton(android.R.string.cancel, this);
builder.setNegativeButton(android.R.string.no, this);
builder.create().show();
}
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case BUTTON_NEGATIVE:
// int which = -2
dialog.dismiss();
break;
case BUTTON_NEUTRAL:
// int which = -3
dialog.dismiss();
break;
case BUTTON_POSITIVE:
// int which = -1
TestActivity.this.finish();
dialog.dismiss();
break;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)