我想更改按钮的背景颜色,单击按钮时,此代码未显示任何错误,也无法正常工作。
capstone.setOnClickListener(new HandleClick());
}
private class HandleClick implements View.OnClickListener{
@Override
public void onClick(View v) {
Button btn = (Button) v;
String text = btn.getText().toString();
btn.setBackgroundResource(R.color.btnClick);
Log.d("color", R.color.btBackground + ""); // D/color: 2131427344
Toast toast = Toast.makeText(getApplicationContext(), text, Toast.LENGTH_SHORT);
toast.show();
}
}
Log.d()显示color的值,但按钮的颜色未更改。
最佳答案
setBackgroundResource(int)
方法正在等待可绘制对象。如果您想使用颜色,请使用适当的方法,即setBackgroundColor(int)
然后呼叫btn.invalidate();
有关Android开发人员的更多详细信息
http://developer.android.com/reference/android/view/View.html#setBackgroundResource(int)