我正在以编程方式生成我的按钮。我想将点击按钮的背景更改为menuitemsactivity_button_backgrnd
。
按钮的默认背景为popup
。我已经完成了以下编码,但问题是,当我单击第一个按钮时,它会更改其背景,然后当我单击第二个按钮时,第二个按钮会更改其背景,但第一个按钮具有相同的menuitemsactivity_button_backgrnd
背景。 / p>
我想要做的只是改变点击按钮的背景,即一次只有一个按钮有menuitemsactivity_button_backgrnd
背景。
我发布我的代码请一步一步指导我:
final Button tv1 = new Button(this);
tv1.setId(i);
tv1.setText(value);
tv1.setTextSize(35);
tv1.setTextColor(Color.parseColor("#1569C7"));
tv1.setGravity(Gravity.CENTER);
tv1.setBackgroundDrawable(getResources().getDrawable(R.drawable.popup));
tv1.setLayoutParams(new LinearLayout.LayoutParams(300,90));
tv1.setOnClickListener(getOnClickDoSomething(tv1));
l1.addView(tv2);
private OnClickListener getOnClickDoSomething(final Button tv1) {
// TODO Auto-generated method stub
return new View.OnClickListener() {
public void onClick(View v) {
String text = tv1.getText().toString();
Log.e("text message", "" + text);
tv1.setBackgroundDrawable(getResources().getDrawable(R.drawable.menuitemsactivity_button_backgrnd));
Toast.makeText(MenuItemsActivity.this, "clicked"+v.getId()+","+tv1.getId(), 1000)
.show();
}
};
}
menuitemsactivity_button_backgrnd
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/blue_tab"
/>
</selector>
答案 0 :(得分:0)
尝试做这样的事情:
"<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:drawable="@drawable/blue_tab"
/>
<item android:state_pressed="false"
android:drawable="@drawable/whatever_the_unselected_drawable_is"
/>
</selector>"