-1

listviewAndroid アプリケーションにカスタムがあります。ユーザーがリスト内のアイテムを押すと、押されたアイテムの背景色を変更したい。これはその動作のコードです:

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_UPtrueから戻っonTouch()て、タッチ イベント全体を処理したことを Android システムに通知しない限り、キャッチされません。

于 2012-10-24T11:45:32.377 に答える