2012-06-08 9 views
17

こんにちは私はdrawable myshape.xmlを持っています。それには<shape>が含まれています。アンドロイド:idをシェイプに設定することはできません。私のコードでAndroidはプログラム可能なドロアブルとしてXML形状を設定しました

私はそれが何のIDを持っていないので、myshape.xmlは私のRファイルに表示されない

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

を使用してこのファイルへのビューの背景を設定します。 idをobjectに設定することはできません。

私のXMLでは、単純に描画可能なリソース名を入力するだけで図形を設定します。しかし、私はプログラムでこれを行う必要があります。

答えて

29

あなたはドローイングを自分で取得する必要はありません。代わりに、この使用する:あなたは場合、将来の参考のために

catAll.setBackgroundResource(R.drawable.myshape); 

を、R.drawable名前空間でのライブドロワブル心の中で描画可能キープを取得したいです。だからあなたのコードはなっただろう: "R.drawable" 名前空間が鍵となった指摘

@drawable/myshape 

代わりの

@id/myshape 
+0

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

これはあなたのXMLで何に似ています、ありがとうK-ballo! –

+0

getDrawable(id)idが無効になりました。 –

関連する問題