如何从变量访问可绘制对象以将图标设置为警报对话框
How to access drawable from variable to set icon to an alert dialog
我想从一个变量更改我的警报对话框图标。其实我有 :
AlertDialog.Builder alert = new AlertDialog.Builder( this);
alert.setTitle("Level"+(OEDPrefs.level_number()));
alert.setIcon(R.drawable.icon);
但 "icon" 总是一样的。我希望它根据级别编号进行更改。
我想做类似的事情:
num = OEDPrefs.level_number();
icon_var = "icon"+num;
AlertDialog.Builder alert = new AlertDialog.Builder( this);
alert.setTitle("Level"+(OEDPrefs.level_number()));
alert.setIcon(R.drawable.icon_var);
可能吗?谢谢
为不同级别使用一组图标。转到数组的特定元素,您将收到特定级别的图标的 id
int[] icons = {R.drawable.icon1,R.drawable.icon2 ... };
获得 i 级图标
int icon = icons[i];
像这样的东西应该可以工作:
num = OEDPrefs.level_number();
icon_var = "icon"+num;
int id = getResources().getIdentifier(icon_var , "drawable", context.getPackageName());
AlertDialog.Builder alert = new AlertDialog.Builder( this);
alert.setTitle("Level"+(OEDPrefs.level_number()));
alert.setIcon(id);
我想从一个变量更改我的警报对话框图标。其实我有 :
AlertDialog.Builder alert = new AlertDialog.Builder( this);
alert.setTitle("Level"+(OEDPrefs.level_number()));
alert.setIcon(R.drawable.icon);
但 "icon" 总是一样的。我希望它根据级别编号进行更改。 我想做类似的事情:
num = OEDPrefs.level_number();
icon_var = "icon"+num;
AlertDialog.Builder alert = new AlertDialog.Builder( this);
alert.setTitle("Level"+(OEDPrefs.level_number()));
alert.setIcon(R.drawable.icon_var);
可能吗?谢谢
为不同级别使用一组图标。转到数组的特定元素,您将收到特定级别的图标的 id
int[] icons = {R.drawable.icon1,R.drawable.icon2 ... };
获得 i 级图标
int icon = icons[i];
像这样的东西应该可以工作:
num = OEDPrefs.level_number();
icon_var = "icon"+num;
int id = getResources().getIdentifier(icon_var , "drawable", context.getPackageName());
AlertDialog.Builder alert = new AlertDialog.Builder( this);
alert.setTitle("Level"+(OEDPrefs.level_number()));
alert.setIcon(id);