Изменить цвет фона на клик, а затем получить исходный цвет Android - PullRequest
0 голосов
/ 24 ноября 2011

В моем приложении я расширил базовый адаптер и создал свой собственный адаптер. У меня разные фоновые изображения для строк зависит от их положения. Я хочу изменить цвет любой строки, когда нажал «ВЫПОЛНЕНО», И ПОТОМ ПОЛУЧИТЬ первый цвет фона после выполнения щелчка. Вот мой метод onclick, который меняет цвет фона.

    public void onClick(View v) {

            if(pos==0)
            v.setBackgroundResource(R.drawable.stoprow);
            else if(pos==getCount()-1)
            v.setBackgroundResource(R.drawable.sbottomrow);
            else
                v.setBackgroundResource(R.drawable.smiddlerow);

            Intent details = new Intent(v.getContext(),HomeworkDetails.class);
            details.putExtra("date", data.get(pos).getDateOfAdd() );
            details.putExtra("dueDate", data.get(pos).getDuedate());
            details.putExtra("course", data.get(pos).getCourse());
            details.putExtra("note", data.get(pos).getNote());
            details.putExtra("iconLink", links.get(pos));
            v.getContext().startActivity(details);
        }
        });

Теперь, как я могу изменить цвет фона после onclick()?

1 Ответ

0 голосов
/ 24 ноября 2011

Просто используйте drawable с селектором внутри. Объявите два элемента с нажатым атрибутом. Одна правда, а другая ложь.

Затем вы можете назначить кнопку drawable to на вашем адаптере.

Пример рисования с селектором внутри:

<?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/button_on" />
<item android:state_pressed="false" android:drawable="@drawable/button_off" /></selector>
...