Я пишу приложение для планшета, где в сценарии у меня есть 8 кнопок подряд, с некоторым фоном.Теперь я хочу изменить фон единственной кнопки, которую я нажал, и среди всех 8.
я пытался сделать рисуемый XML и обрабатывать состояния кнопок, такие как фокусировка, нажатие, также пытался проверить на всякий случай.Но это только меняет фон только до того момента, пока я не нажму его.Что не является моим требованием.Таким образом, чтобы достичь этого, я должен написать количество строк.
myDrawable
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true"
android:state_pressed="false"
android:drawable="@drawable/background_white_with_black_border" />
<item android:state_focused="true"
android:state_pressed="true"
android:drawable="@drawable/background_white_with_black_border" />
<item android:state_focused="false"
android:state_pressed="true"
android:drawable="@drawable/background_all_corners_five_dp_solid_login_btn_blue" />
<item android:drawable="@drawable/background_white_with_black_stroke" />
</selector>```
setting the above as buttons background didnt gave me result. So did this:
```button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
button1.setBackground(getResources().getDrawable(R.drawable.background_all_corners_five_dp_solid_login_btn_blue));
baySelected = "Bay1";
button2.setBackground(getResources().getDrawable(R.drawable.background_white_with_black_stroke));
button3.setBackground(getResources().getDrawable(R.drawable.background_white_with_black_stroke));
button4.setBackground(getResources().getDrawable(R.drawable.background_white_with_black_stroke));
button5.setBackground(getResources().getDrawable(R.drawable.background_white_with_black_stroke));
button6.setBackground(getResources().getDrawable(R.drawable.background_white_with_black_stroke));
button7.setBackground(getResources().getDrawable(R.drawable.background_white_with_black_stroke));
button8.setBackground(getResources().getDrawable(R.drawable.background_white_with_black_stroke));```