如何短暂时间改变textview背景颜色

怎么短暂时间改变textview背景颜色
我想要的效果其实就是类似listview那样,每个项,单击时会变一下颜色,让人知道已经点击生效了。
不过我没用listview,是一些textview纵向排列的
每个textview的onclick事件里我这么设定来改变颜色

public void onClick(View view)
{
    TextView textView=(TextView)view;
    Drawable background=textView.getBackground();
    textView.setBackgroundColor(0xFFCECECE);
    ............
    打开一个新的窗口
    textView.setBackgroundDrawable(background);
    //如果不写最后一行setBackgroundDrawable的话,是可以改变颜色的,这行代码是要恢复到原来的颜色
}


感觉这样应该是可以的吧
但是实际执行时,单击这个textview的话,背景颜色是不会有任何变化的。
请问这是为什么

------解决方案--------------------
老兄,你可能不是太熟悉 界面的渲染机制。 你调用setBackgroundColor,只是修改了属性,并没有真正刷新。 

界面线程都是消息机制, 你本身是在click事件中调用的。 他必须repaint才会真正绘制。 所以在事件中写的任何属性更改都不是立时生效的。 

=============
至于你这个功能,可以用Timer实现。 设定比如500ms后再改一次。

------解决方案--------------------
可以实现OnTouchListener接口,实现 boolean onTouch(View v, MotionEvent event)方法
当event.getAction() == MotionEvent.ACTION_DOWN,改变背景颜色
当event.getAction() == MotionEvent.ACTION_UP,还原背景颜色
------解决方案--------------------
引用:
引用:给TEXTVIEW添加背景吧
android:background="@drawable/my_button_click"
背景就调用这个my_button_click,这是自己写的一个XML
XML的类容就是下边的,你可以改成颜色或者图片用
<?xml version="1.0" encoding="utf-……

随便建个XML文件。将我写的那些复制进去就好了。没你想的那么高深!