програмно получаване на бутона за фоново изображение на android

Използвам бутон в layout.xml, както следва

 <Button
      android:id="@+id/karaza"
      android:layout_width="160dp"
      android:layout_height="160dp"
      android:background="@drawable/button_green"
      android:text="0"
      android:textColor="#FFFFFF"
      android:textSize="45dp" />

Името на фоновото изображение е "button_green"

как мога да го получа в кода на дейност като String?

Благодаря предварително


person Emy Alsabbagh    schedule 11.02.2013    source източник
comment
можете ли да кажете къде го използвате и защо??   -  person Yogesh Tatwal    schedule 11.02.2013
comment
Искам да използвам името на фона, за да проверя дали името на фона е зелено, за да използвам друго зелено фоново изображение в действието на пресата. и така нататък с други цветове.   -  person Emy Alsabbagh    schedule 11.02.2013
comment
stackoverflow.com/a/14054414/726863   -  person Lalit Poptani    schedule 11.02.2013


Отговори (3)


Опитайте тази:

Не мисля, че има някакъв директен начин да получите име на рисувано изображение, освен ако не съхранявате името на изображението заедно с изображението.

В XML можете да направите следното, за да зададете име на изображение като допълнителни данни към imageview

android:tag="btful.png"

Програмно задаване на име на изображение

ImageView img = (ImageView) findViewByID(R.id.img)// my image
img.settag("btful.png"); // to set an image name

можете да получите името на изображението, като използвате getTag()

 String imageName = (String)img.getTag();
person Android_coder    schedule 11.02.2013
comment
Фонът ми не е цвят, а png изображение в папката с възможност за рисуване и искам да извлека името му като низ - person Emy Alsabbagh; 11.02.2013
comment
добре, благодаря за помощта, изглежда няма начин да получа директно imagr, така че ще помисля за алтернативи. - person Emy Alsabbagh; 11.02.2013

Опитайте тази,

Btn.setBackgroundResource(R.drawable.button_green);
person MuraliGanesan    schedule 11.02.2013
comment
Това е да настроя фона на btn, това не е моето значение. Искам да извлека фоновото име в кода - person Emy Alsabbagh; 11.02.2013

Просто Findviewbyid на бутон в java файл, след което използвайте:

  btn.getBackground();

ще работи!!

и го присвоете на чертеж ...

person GOLDEE    schedule 11.02.2013
comment
Опитах това и bit отпечатва това --› android.graphics.drawable.BitmapDrawable@4053a870 и това не е името на изображението, а е button_green - person Emy Alsabbagh; 11.02.2013
comment
това е идентификаторът на този бутон, можете да го използвате вместо име - person GOLDEE; 11.02.2013
comment
Опитайте това ... ще работи определено: String btnName = getResources().getString(R.id.btnid); - person GOLDEE; 11.02.2013