我想允許我的用戶在TextView
中輸入一個單詞,然後在ImageView
中顯示相應的圖片。例如,用戶可能鍵入「月亮」,然後我會顯示moon.png
。如何在ImageView中顯示TextView值?
我怎麼能做到這一點?
我想允許我的用戶在TextView
中輸入一個單詞,然後在ImageView
中顯示相應的圖片。例如,用戶可能鍵入「月亮」,然後我會顯示moon.png
。如何在ImageView中顯示TextView值?
我怎麼能做到這一點?
// 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);
這行錯誤myImageView.setImageResource(id); ... –
@Thyago S錯誤說的是什麼? – AppyFizz
「無法解析符號'setImageResource'」 –
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);
嗨本..在這一行中有一個錯誤myImageView.setImageResource(id); –
,您在繪製或本地存儲加載moon.png? –
是的..我是朋友... –