Как изменить значок кнопки программно?

У меня уже есть кнопка:

<Button 
android:layout_height="wrap_content" 
android:layout_width="fill_parent"
android:drawableLeft="@drawable/empty"
android:id="@+id/buttonMyText" 
android:text="  myText" 
android:textSize="20px" 
android:gravity="left">
</Button>

У меня есть "пустое" показ значка на кнопке при запуске программы.

Что я хочу сделать, это изменить значок кнопки автоматически из моего кода (низкий, средний и высокий) на основе пользовательских входов

Я пробовал:

Button myButton = bla... bla... bla...

Но я не могу понять

myButton.(what?)

Ответы

Ответ 1

Если вы проверите документы, вы увидите эквивалент кода для каждого атрибута XML.

Смотрите здесь: http://developer.android.com/reference/android/widget/Button.html

Поиск drawableLeft показывает:

android:drawableLeft:
setCompoundDrawablesWithIntrinsicBounds(Drawable,Drawable,Drawable,Drawable)

Ответ 2

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

buttonMyText.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View arg0) {
       buttonMyText.setCompoundDrawablesWithIntrinsicBounds(R.drawable.ImageNameHere, 0, 0, 0);
       buttonMyText.setTextColor(Color.BLACK);
    }
});