如何在ImageView中显示TextView值?

时间:2017-07-30 04:59:15

标签: android android-studio android-imageview textview

我想允许我的用户在TextView中输入一个单词,然后在ImageView中显示相应的图片。例如,用户可能会输入“Moon”,然后我会显示moon.png

我怎么能实现这个目标?

2 个答案:

答案 0 :(得分:1)

Resources类有一个方法getIdentifier(),你可以在这里使用。

  

int getIdentifier(String name, String defType, String defPackage)

     

返回给定资源名称的资源标识符。完全限定的资源名称的格式为“package:type / entry”。前两个组件(包和类型)是可选的,如果在此指定defType和defPackage。

     

注意:不鼓励使用此功能。按标识符检索资源比按名称检索资源要高效得多。

这意味着你可以写:

String userEntered = myEditText.getText().toString();
int id = getResources().getIdentifier(userEntered, "drawable", getPackageName());
myImageView.setImageResource(id);

答案 1 :(得分:0)

// Find TextView and ImageView, if required
TextView myTextView = (TextView) findViewById(R.id.tv);
ImageView myImageView = (ImageView) findViewById(R.id.iv);

// Get text from TextView
String myText = textView.getText().toString();

// Get ID of drawable with name entered by user
Context context = myImageView.getContext();
int id = context.getResources().getIdentifier(myText, "drawable", context.getPackageName());

// Set that drawable as the image to be displayed in the ImageView
myImageView.setImageResource(id);