Tengo un ListView dentro de ScrollView. Puedo habilitar el desplazamiento de ListView por

listView.getParent().requestDisallowInterCeptTouchEvent(true);

Pero el problema es cuando me desplazarse hacia arriba en la vista de lista, y llega hasta la parte superior debe desplazarse a la vista principal es decir, padre de desplazamiento tiene que trabajar . ¿Cómo puedo hacer esto ? cualquier sugerencia por favor.

InformationsquelleAutor prabhu | 2014-03-21

3 Comentarios

  1. 1

    Yo sugeriría para incrustar la parte superior de su vista.e cualquier viewgroup por encima de la vista de lista en listview encabezado. ListView tiene un método, el listview.addHeaderView(). De esa manera usted sería capaz de desplazar la lista (de Todo punto de Vista), incluso en el pequeño tamaño de la pantalla y usted no necesita scrollview.

  2. 5
    listView.setOnTouchListener(new OnTouchListener() {
    
        public boolean onTouch(View v, MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_MOVE) {
                return true; //Indicates that this has been handled by you and will not be forwarded further.
            }
            return false;
        }
    });

    O

    Para hacer que la Vista unselectable simplemente disfrutar de la vista y .setClickable(false)

    O

    listView.setScrollContainer(false);
    • Se return false permitir listview para desplazarse ?
    • Su respuesta me fue muy útil, también he utilizado el método
  3. 4

    Puede reemplazar ScrollView clase e insertar estos métodos interior:

    private boolean isScrollEnabled = true;
    
    public void enableScroll(boolean isScrollEnabled ) {
        this.isScrollEnabled = isScrollEnabled ;
    }
    
    @Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
        if (isScrollEnabled) {
            return super.onInterceptTouchEvent(ev);
        } else {
            return false;
        }
    }

    Esta es la solución más limpia para lograr esto. Sólo llame scrollView.enableScroll(true) para habilitar el desplazamiento o scrollView.enableScroll(false) para desactivarlo.

Dejar respuesta

Please enter your comment!
Please enter your name here