ImageView的动态的Andr​​oid组源动态、ImageView、Andr、组源

2023-09-05 06:34:43 作者:孤浪人

我有我的场景中的ImageView的,我想根据用户输入设置的动态源。

I have an ImageView on my scene that I would like to set the source of dynamically based on user input.

让我们说我有4个图像在我的绘制文件夹:aaa.png,bbb.png,ccc.png和ddd.png

Let's say I have 4 images in my drawable folder: aaa.png, bbb.png, ccc.png, and ddd.png.

在我的应用程序加载我设置图像:aaa.png

When my application loads I set the image to: aaa.png

myImageView.setImageResource(R.drawable.aaa);

现在我有一个EditText其中用户可以在BBB型,我想改变图像源是bbb.png,或用户输入CCC,更改源ccc.png等。

now I have an EditText where a user can type in bbb and I want to change the image source to be the bbb.png, or user enters ccc, change source to ccc.png etc.

我怎么能动态设置在setImageResource参数()?我试着摆弄可绘制对象无济于事......

how can I dynamically set the parameter in setImageResource()? I tried playing around with the Drawable object to no avail...

推荐答案

如果你想允许打开的文本输入,你要么必须使用原始资产通过字符串名称来获取它们(参阅该网页上的旁注),或者使用神奇的 Java反射通过名称检索R类的字段。或者,你可以保持字符串R.drawable整数值,并期待它的HashMap的,但你必须保持这种HashMap中。

If you want to allow open text input, you'll either have to use raw assets to fetch them by string name (see the sidenote on that page), or else use magical Java reflection to retrieve a field of the R class by name. Alternatively, you could keep a HashMap of strings to R.drawable integer values and look it up, but then you'd have to maintain that hashmap.