And*_*eaF 1 android android-imageview android-resources
我想以编程方式设置ImageView,将本地资源的名称作为String传递.
通过这种方式清楚地识别出可绘制的内容
R.drawable.mydrawable_name
Run Code Online (Sandbox Code Playgroud)
如果不在条件开关中映射所有内容,我该如何解决此问题?
我想避免这种形式的东西
if(myString.equal"stringname_1"){
myImageview.setImageResource( R.drawable.stringname_1);
}
else if(myString.equal"stringname_1")....
etc
Run Code Online (Sandbox Code Playgroud)
mne*_*and 11
你可以使用getResources().getIdentifier()(http://developer.android.com/reference/android/content/res/Resources.html#getIdentifier (java.lang.String,java.lang.String,java.lang .string))为此目的.对于您的代码,它看起来像这样:
int id = getResources().getIdentifier(myString, "drawable", getPackageName());
Drawable drawable = getResources().getDrawable(id);
myImageview.setImageDrawable(drawable);
Run Code Online (Sandbox Code Playgroud)
上面的代码假设您在一个Activity中.
| 归档时间: |
|
| 查看次数: |
6186 次 |
| 最近记录: |