-1

listview我的android 应用程序中有一个自定义项。当用户按下列表中的项目时,我想更改按下项目的背景颜色。这是该行为的代码:

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,也会标记一个项目,并且“按下”的颜色将是静态的。我怎样才能避免这种情况?

4

1 回答 1

1

MotionEvent.ACTION_UP除非您返回通知 Android 系统您处理了整个触摸事件,true否则不会被捕获。onTouch()

于 2012-10-24T11:45:32.377 回答