如何以编程方式更改button的图标?

我已经有了这个button

<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上显示“空”图标

我想要做的就是根据用户input从我的代码(低,中,高)自动更改button的图标

我试过了:

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

但我无法弄清楚

 myButton.(what?) 

  • Android:单击button时切换相机
  • Android在animation中popup
  • 你可以使用相同的OnClickListener为不同的button?
  • 在Android中使EditText和Button的高度相同
  • 中心布局Android
  • 点击它后我怎样才能保持一个button?
  • FloatingActionButton图标animation(Android FAB src可绘制animation)
  • 我怎样才能缩放button的背景?
  • 如果您检查文档,您会看到每个XML属性的等效代码。

    看到这里: http : //developer.android.com/reference/android/widget/Button.html

    searchdrawableLeft显示:

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

    如果你想改变button点击事件的图标,然后尝试此代码…

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