Android 单击更改背景色,然后检索原始颜色

Android 单击更改背景色,然后检索原始颜色,android,android-listview,android-animation,Android,Android Listview,Android Animation,在我的应用程序中,我扩展了基本适配器并创建了自己的适配器。根据行的位置不同,我有不同的背景图像。我想在单击“完成”时更改任何行的颜色,然后在执行onclick之后检索第一个背景色。下面是我的onclick方法,它可以更改背景颜色 public void onClick(View v) { if(pos==0) v.setBackgroundResource(R.drawable.stoprow); else if(

在我的应用程序中,我扩展了基本适配器并创建了自己的适配器。根据行的位置不同,我有不同的背景图像。我想在单击“完成”时更改任何行的颜色,然后在执行onclick之后检索第一个背景色。下面是我的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()之后的背景色

只需使用带选择器的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>

我不明白,您什么时候想给视图提供旧背景?在应用新的背景之前,可以使用getBackground()获取旧的背景,并且可以使列表无效(),使自定义适配器重新绘制它。不过我可能不明白这个问题。