Как отключить прокрутку в GridView? - PullRequest
2 голосов
/ 18 января 2012

Мое приложение имеет GridView. У него уже есть onItemClickListener и onItemLongClickListener. Я хотел бы отключить прокрутку в GridView сейчас. С помощью https://stackoverflow.com/a/6496632/985025 я добавил onTouchListener, как показано ниже:

        mGridView.setOnItemClickListener(this);  
        mGridView.setOnItemLongClickListener(this);  
        mGridView.setOnTouchListener(new OnTouchListener(){  
            @Override  
            public boolean onTouch(View arg0, MotionEvent arg1) {  
                if(arg1.getAction() == MotionEvent.ACTION_MOVE)  
                    return true;  
                else  
                    return false;  
            }  
        });  

Мое ожидаемое поведение - когда я пытаюсь прокрутить GridView, это событие следует игнорировать. Но я получаю событие в onItemClick даже после возврата true в onTouch. Есть ли способ избежать onItemClick в случае прокрутки на GridView?

Ответы [ 2 ]

0 голосов
/ 20 января 2012

Люди здесь поглотили GridView с ScrollView, и это помогло, я надеюсь, что это поможет всем, кто застрял с этой проблемой.

0 голосов
/ 18 января 2012

Используйте TableLayout.Достигает именно то, что вы хотите.GridView - это излишний перебор в вашем случае со всей его переработкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...