gpt4 book ai didi

java - 使用 SharedPreference 定义可绘制资源

转载 作者:行者123 更新时间:2023-12-01 14:06:57 24 4
gpt4 key购买 nike

我有一些可绘制的东西:

R.drawable.pres01
R.drawable.pres02
R.drawable.pres03

我想使用SharedPreference来显示正确的可绘制对象:

private SharedPreferences prefs;
private SharedPreferences.Editor editor;
String someId;
ImageView ivPresident;
int inAdd;

prefs = this.getSharedPreferences("pNum", Context.MODE_PRIVATE);

someId = prefs.getString("presNum", "");
inAdd = Integer.parseInt(someId);

ivPresident = (ImageView) findViewById(R.id.imgViewPresident);

我将字符串转换为整数,现在如何根据保存的字符串将ivPresident的图像源设置为数字。

例如:

如果 someId01,则 ivPresident 的可绘制对象为 R.drawable.pres01

如果someId02,则ivPresident的可绘制对象是R.drawable.pres02

如果someId03,则ivPresident的可绘制对象是R.drawable.pres03

我尝试了以下方法,但没有成功:

ivPresident.setBackground(R.drawable.pres + inAdd);

如何修复代码来实现它?

最佳答案

你想要的是:

Resources.getIdentifier(字符串名称...)

参见here

按照您现在尝试的方式构建字符串。

编辑:

String someId = prefs.getString("presNum", "");
int id = getResources().getIdentifier("pres0" + someId, "drawable", getPackageName())
ivPresident.setBackgroundResource(id);

关于java - 使用 SharedPreference 定义可绘制资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18834193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com