2012-04-18 4 views
0

Можно создать дубликат:
Setting Android images from string valueандроид изменить фоновое изображение программно из строки

мне нужно изменить фоновое изображение программно на Android с исходной строки у меня есть. Например, у меня есть массив строк, полученных из XML-файла «source1», «source2» и т. Д., Так как я могу установить их в качестве фона? Я видел примеры вроде mTextView.setBackgroundResource(R.drawable.myResouce);, но я не понимаю, как установить mySource из String. Может быть, это возможно через доступный объект?

+0

см http://stackoverflow.com/questions/4313007/setting-android-images-from-string-value – ngesh

+0

Почему вы сделать текст в качестве фона ..? Если вам нужна подсказка, используйте «android: hint» ... –

+0

Какой тип строк вы получаете из XML-файла? Можете ли вы показать несколько примеров? –

ответ

4

Сохраните свое имя изображения внутри чертежей, подобных тому, что и в String.xml.

сказать, например: images.PNG должно быть изображениями в String.xml

Если передать это имя getResourceId() он возвращает вам вытяжку с этой переменной строкой.

public static int getResourceId(Context context, String name, String resourceType) { 
    return context.getResources().getIdentifier(name, resourceType, context.getPackageName()); 
} 

int iconId = getResourceId(Activity.this, image, "drawable");  

ImageView categoryIcon = (ImageView) v.findViewById(R.id.category_icon); 
categoryIcon.setImageResource(iconId); 
+0

Что такое метод toResourceString (name)? –

+0

Проверьте mu обновленный ответ. Нет необходимости в этом методе. Просто пропустите String name – Venky

+0

Я пробовал это, но он не работал для меня 'View v = new View (this); \t \t TextView textView = (TextView) v.findViewById (R.id.provider_logo); \t \t int resid = Helpers.getResourceId (PaymentActivity.this, "логотип", "drawable"); \t \t textView.setBackgroundResource (остаток); ' –

Смежные вопросы