我通过按导航抽屉中的按钮来构建和显示标准的简单AlertDialog,并带有“活动”的上下文,出于未知的原因,它显示全屏,但是我需要在中心显示标准的对话框。
这是我的代码(相同的代码可以在我的应用程序的其他活动中正常工作):
new AlertDialog.Builder(mainActivity)
.setTitle(mainActivity.getString(R.string.attention))
.setPositiveButton(mainActivity.getString(R.string.exit), (dialog, which) -> {
dialog.dismiss();
mainActivity.finish();
})
.setNegativeButton(mainActivity.getString(R.string.cancel), (dialog, which) -> {
dialog.dismiss();
})
.setMessage(mainActivity.getString(R.string.warnLogout))
.create()
.show();
答案 0 :(得分:1)
问题是导入错误:我最近将项目迁移到AndroidX,并且在编写AlertDialog逻辑时错误地选择了旧版导入。似乎没有错误和警告显示,并且按钮按预期方式工作,但就我而言,它显示为错误的“全屏”布局对话框:
错误:
import android.app.AlertDialog;
右:
import androidx.appcompat.app.AlertDialog;
答案 1 :(得分:0)
请尝试使用此代码进行警告对话框。
new AlertDialog.Builder(this)
.setTitle("Alert")
.setMessage("Hello This is Alert Dialog.")
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
}).setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialogInterface.dismiss();
}
}).show();