Как обработать фон кнопки при onClick при наличии нескольких кнопок? - PullRequest
0 голосов
/ 10 июля 2019

Я пишу приложение для планшета, где в сценарии у меня есть 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));```
...