2016-02-01 2 views
10

Как можно изменить свойство XML android:src программно из виджета FloatingActionButton или Button? У меня есть кнопка, определенная следующим образом в рамках деятельности:Изменение значка кнопки Android для Android Programmatically

FloatingActionButton floatingActionButton = (FloatingActionButton) this.findViewById(R.id.start_button); 

Она имеет начальный android:src набор следующим образом:

android:src="@android:drawable/ic_media_play" 

Я пытаюсь использовать setImageResource(int id) изменить свойство android:src XML, но как получить доступ к значку Drawable, например, ic_media_pause после нажатия кнопки, например,. Когда я пытаюсь передать в R.drawable.ic_media_pause методу setImageResource(), я получил ошибку, которая не может разрешить ошибку.

floatingActionButton.setImageResource(R.drawable.ic_media_pause);

Как получить на доступные ресурсы R.drawable передать его в качестве аргумента.

Любая помощь будет оценена положительно. Спасибо!

+0

У вас есть файл с именем «ic_media_pause» в вашем Рез/вытяжке папку или этот значок андроида по умолчанию включен в SDK? Если да, попробуйте 'android.R.drawable.ic_media_pause' –

+0

Я использую библиотеку значков Android по умолчанию, включенную в SDK. Ваше предложение абсолютно сработало. Вы должны отправить ответ. С другой стороны, могу ли я использовать 'get.Resources.getIdentifier()', чтобы получить стандартную библиотеку значков Android? –

+0

Позвольте мне проверить действительно быстро –

ответ

22

Вы пытаетесь получить доступ к значку по умолчанию, включенному в SDK. Вам нужно префикс вашего идентификатора ресурса с помощью «android». Например:

floatingActionButton.setImageResource(android.R.drawable.ic_media_pause); 

это позволит вам ссылаться на значки по умолчанию.

:)