2012-06-08 2 views
17

Здравствуйте, у меня есть drawable myshape.xml, он содержит <shape>, и я не могу установить android: id для фигур.Android установлен в форме XML как программный

В моем коде я хочу, чтобы установить фон вид на этот файл, используя

catAll.setBackgroundDrawable(getResources().getDrawable(R.id......???));

где myshape.xml не отображается в моем файле R, поскольку он не имеет идентификатора. и я не могу установить id для объекта.

В моем XML я устанавливаю форму, просто набирая имя ресурса с возможностью рисования. Но мне нужно сделать это программно.

ответ

29

Вам не нужно вытаскивать себя самостоятельно. Используйте вместо этого:

catAll.setBackgroundResource(R.drawable.myshape); 

Для дальнейшего использования, если вы сделать желание получить Drawable иметь в виду, что живут в вводимого коэффициента на R.drawable имен. Так что ваш код будет стал:

getResources().getDrawable(R.drawable.myshape); 

Это сродни тому, что вы делаете в XML:

@drawable/myshape 

вместо

@id/myshape 
+0

Указывая пространство имен "R.drawable" был ключ , спасибо K-ballo! –

+0

Идентификатор getDrawable (id) теперь лишен. –

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