0

我想允許我的用戶在TextView中輸入一個單詞,然後在ImageView中顯示相應的圖片。例如,用戶可能鍵入「月亮」,然後我會顯示moon.png如何在ImageView中顯示TextView值?

我怎麼能做到這一點?

+0

,您在繪製或本地存儲加載moon.png? –

+0

是的..我是朋友... –

回答

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); 
+0

這行錯誤myImageView.setImageResource(id); ... –

+0

@Thyago S錯誤說的是什麼? – AppyFizz

+0

「無法解析符號'setImageResource'」 –

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); 
+0

嗨本..在這一行中有一個錯誤myImageView.setImageResource(id); –