我在我的android应用程序中有一个自定义listview
。当用户按下列表中的项目时,我想更改所按项目的背景颜色。这是该行为的代码:onTouch on ListView,更改项目的颜色
tempView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View arg0, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
isDown = false;
tempView.setBackgroundColor(Color.parseColor("#f47920"));
}
if (event.getAction() == MotionEvent.ACTION_UP) {
tempView.setBackgroundResource(R.drawable.list_selector_focused);
}
if(event.getAction() == MotionEvent.ACTION_MOVE) {
tempView.setBackgroundResource(R.drawable.list_selector_focused);
}
return false;
}
});
但是,当我“一扔”我的手指在屏幕上滚动listview
,项目还标,而“压”的颜色会是静态的。我怎样才能避免这种情况?
你为什么不尝试在你的ListView上使用'selector'。你见过这个:http://stackoverflow.com/questions/4247385/how-to-change-color-of-listview-items-on-focus-and-on-click? –
是的,我确定。但是,在java中也必须有一种方法来做到这一点? –
您想要在按住手指的同时更改背景,或者当他们完成点击时? – Carnal