我试图找到一种通过字符串设置图像视图的方法。似乎不推荐使用getResources(),我似乎找不到快速传递字符串并将图像加载到imageView的方法。我没有任何工作或有用的代码要呈现,我只是要求方法来研究。 谢谢!
答案 0 :(得分:1)
使用API 22'不推荐使用getResources()'。您可以使用它,它也向后兼容,因此您可以安全地转到此方法。
ContextCompat.getDrawable(context, R.drawable.<you_name_it>)
<强>更新强>
还忘了提一下,你可以使用Picasso将你的琴弦(瞄准画面的路径)加载到图像视图中。
这里有一个小例子:
ImageView imageView1 = (ImageView) findViewById(R.id.myImageView);
Picasso.with(getApplicationContext()).load("www.pictures.com/picture.jpg").into(imageView1);
你可以在这里对毕加索进行一些搜索:http://square.github.io/picasso/
更不用说Stackoverflow Android应用程序也使用这个库,这是Android中必备的库之一。
答案 1 :(得分:1)
theMatus 的答案是正确的。可通过int **
标识符访问Drawable(即int
将具有相应的R.drawable.some_image
值。要将int
转换为此类值,您可以使用String
:
Resources.getIdentifier()
要访问String mDrawableName = "some_image";
int resId = getResources().getIdentifier(mDrawableName , "drawable", getPackageName());
,您需要使用Drawable
。顺便说一句,getResources().getDrawable(resId)
并未弃用,尽管getDrawable(int id)
在技术上属于API 22(它仍然有效)。如果要正确处理此问题并绕过弃用,可以使用以下命令:
getResources()
答案 2 :(得分:0)
ImageView imgView = (ImageView) findViewById(R.id.imageView);
imgView.setImageDrawable(ContextCompat.getDrawable(currentActivity.this,R.drawable.your_image));
实际上马蒂斯回答了你的问题。此代码适用于已弃用的问题。