在Android Studio

时间:2016-02-13 08:06:15

标签: android image android-studio

我试图找到一种通过字符串设置图像视图的方法。似乎不推荐使用getResources(),我似乎找不到快速传递字符串并将图像加载到imageView的方法。我没有任何工作或有用的代码要呈现,我只是要求方法来研究。 谢谢!

3 个答案:

答案 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));

实际上马蒂斯回答了你的问题。此代码适用于已弃用的问题。