我有一个警告对话框,不会显示我使用" setIcon"。设置的图标。 我使用Android Studio和Android Emulator API 19 / Android 4.4.2。
我可以运行应用程序,对话框显示没有图标,没有错误 但Android工作室标志着包含" setIcon"并提供我"介绍局部变量"和#34;将方法调用链转换为调用序列"
所以我的问题:为什么图标没有显示?
我的代码:
AlertDialog.Builder builder = new AlertDialog.Builder(this );
builder
.setMessage("Repeat game?")
.setIcon(android.R.drawable.ic_dialog_alert) //<--- icon does not show
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//Yes button clicked, do something
}
})
.setNegativeButton("No", null) //Do nothing on no
.show();
答案 0 :(得分:15)
你的标题是空的,因此android不会显示它,因此也不会显示任何图标。
将其设置为空字符串:
builder.setTitle("")...<all the other stuff>
答案 1 :(得分:6)
你应该使用这样的东西:
builder.setIcon(getResources().getDrawable(android.R.drawable.ic_dialog_alert));
试试这个:)
答案 2 :(得分:1)
可能还需要设置标题。如果您不喜欢新布局,可能需要查看此question。
AlertDialog.Builder builder = new AlertDialog.Builder(this );
builder
.setMessage("Repeat game?")
.setTitle("")
.setIcon(android.R.drawable.ic_dialog_alert) //<--- icon does not show
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//Yes button clicked, do something
}
})
.setNegativeButton("No", null) //Do nothing on no
.show();
答案 3 :(得分:1)
您只需添加标题,因为图标的位置在标题旁边。
.setTitle("Attention")
.setIcon(android.R.drawable.ic_dialog_alert)