如何在Android中为AlertDialog创建Appwide方法
在我的应用程序中有几个地方,我希望弹出一个警报,向用户提问,然后用所选答案获得回调 我希望在自定义非活动/片段对象中发生这种情况 我试图在我的类中创建一个方法,该方法派生自显示AlertDialog的应用程序,但我总是遇到上下文问题并崩溃。 这是我的应用程序类中的一个片段,其上下文为getApplicationContext() 我需要将上下文设置为什么,以便它不会崩溃?还是有更好的方法来完成这一切 谢谢,如何在Android中为AlertDialog创建Appwide方法,android,dialog,alert,android-alertdialog,android-context,Android,Dialog,Alert,Android Alertdialog,Android Context,在我的应用程序中有几个地方,我希望弹出一个警报,向用户提问,然后用所选答案获得回调 我希望在自定义非活动/片段对象中发生这种情况 我试图在我的类中创建一个方法,该方法派生自显示AlertDialog的应用程序,但我总是遇到上下文问题并崩溃。 这是我的应用程序类中的一个片段,其上下文为getApplicationContext() 我需要将上下文设置为什么,以便它不会崩溃?还是有更好的方法来完成这一切 谢谢, Alec您只需将上下文也传递给静态方法。Android中的静态助手方法通常是这样工作的。
Alec您只需将
上下文
也传递给静态方法。Android中的静态助手方法通常是这样工作的。如果您试图在应用程序的非ui部分使用警报对话框,则必须有某种方式来访问您的上下文。好的,谢谢,我已将其传递到上下文中,当它被非活动类调用时,这并不能解决问题,但适用于其他情况。
public static void showAlert(String title, String message)
{
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(
context);
// set title
alertDialogBuilder.setTitle("Your Title");
// set dialog message
alertDialogBuilder
.setMessage("Click yes to exit!")
.setCancelable(false)
.setPositiveButton("Yes",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id)
{
// if this button is clicked, close
// current activity
}
})
.setNegativeButton("No",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
// if this button is clicked, just close
// the dialog box and do nothing
dialog.cancel();
}
});
// create alert dialog
AlertDialog alertDialog = alertDialogBuilder.create();
// show it
alertDialog.show();
}