我知道这是一个老问题,但希望这会帮助某些人。
您还可以创建自定义类以用于警报对话框,并在整个项目中访问它。
可以在任何地方显示和隐藏。
package (Your_Pakage_Name);
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatDialogFragment;
public class AlertDailogbox extends AppCompatDialogFragment {
String Title = null;
String Msg = null;
String TAG = "Alert Dialog Box";
public AlertDailogbox(String title, String msg) {
Title = title;
Msg = msg;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(Title)
.setMessage(Msg)
.setIcon(R.drawable.ic_alert)
.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
}
});
return builder.create();
}
}
在您的项目(Activity)中调用,创建一个 alertDialog 类的全局变量。
private AlertDailogbox alertDailogbox;
显示对话框的函数
private void showMsgDailog(String Title,String Msg){
alertDailogbox = new AlertDailogbox(Title,Msg);
alertDailogbox.setCancelable(false);
alertDailogbox.show(getSupportFragmentManager(),"alert Dailog");
}
结束循环
if(alertDailogbox != null)
alertDailogbox.dismiss();
alerDailogeBox 不为空的检查是必要的,否则应用程序可能会崩溃