如何在 Android 上显示是/否对话框? [英] How to display a Yes/No dialog box on Android?
问题描述
是的,我知道有 AlertDialog.Builder,但我很震惊地知道在 Android 中显示对话框有多么困难(好吧,至少对程序员不友好).
Yes, I know there's AlertDialog.Builder, but I'm shocked to know how difficult (well, at least not programmer-friendly) to display a dialog in Android.
我曾经是 .NET 开发人员,我想知道是否有以下 Android 等效项?
I used to be a .NET developer, and I'm wondering is there any Android-equivalent of the following?
if (MessageBox.Show("Sure?", "", MessageBoxButtons.YesNo) == DialogResult.Yes){
// Do something...
}
推荐答案
AlertDialog.Builder 确实不难使用.一开始肯定有点吓人,但是一旦您使用过它,它既简单又强大.我知道你说过你知道如何使用它,但这里只是一个简单的例子:
AlertDialog.Builder really isn't that hard to use. It's a bit intimidating at first for sure, but once you've used it a bit it's both simple and powerful. I know you've said you know how to use it, but here's just a simple example anyway:
DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which){
case DialogInterface.BUTTON_POSITIVE:
//Yes button clicked
break;
case DialogInterface.BUTTON_NEGATIVE:
//No button clicked
break;
}
}
};
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setMessage("Are you sure?").setPositiveButton("Yes", dialogClickListener)
.setNegativeButton("No", dialogClickListener).show();
如果您有其他应该执行相同操作的是/否框,您也可以重复使用该 DialogInterface.OnClickListener
.
You can also reuse that DialogInterface.OnClickListener
if you have other yes/no boxes that should do the same thing.
如果您从 View.OnClickListener
中创建对话框,您可以使用 view.getContext()
来获取上下文.或者,您可以使用 yourFragmentName.getActivity()
.
If you're creating the Dialog from within a View.OnClickListener
, you can use view.getContext()
to get the Context. Alternatively you can use yourFragmentName.getActivity()
.
这篇关于如何在 Android 上显示是/否对话框?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!