我在我的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