2015-04-27 16 views
6

So che possiamo usare per entrambi touchlisteners vista di scorrimento, comeCome interrompere lo scorrimento della vista di scorrimento principale quando si scorre la vista a scorrimento figlio in Android?

parentScrollView.setOnTouchListener(new View.OnTouchListener() { 

    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
    Log.v(TAG, "PARENT TOUCH"); 

    findViewById(R.id.child_scroll).getParent() 
      .requestDisallowInterceptTouchEvent(false); 
    return false; 
    } 
}); 

childScrollView.setOnTouchListener(new View.OnTouchListener() { 

    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
    Log.v(TAG, "CHILD TOUCH"); 

    // Disallow the touch request for parent scroll on touch of child view 
    v.getParent().requestDisallowInterceptTouchEvent(true); 
    return false; 
    } 
}); 

quello che sto affrontando è la mia vista bambino di scorrimento non è il bambino immediato per il rotolo genitore view.In questo v.getParent() non funziona e quando ho tocca e prova a scorrere la vista di scorrimento di mio figlio, l'intero scorrimento principale scorre.

Posizioni di mie opinioni di scorrimento a mio layout (viste vengono create dinamicamente quindi ho bisogno di andare con tanto layout)

linearLayout 
    ParentscrollView(0) 
      linearLayout(0) 
       relativeLayout(0) 
         TextView(0) 
       relativeLayout(1) 
        childScrollView(0) 

bisogno help..Thanks in anticipo. !!

risposta

6

Non è findViewById() per l'ID della vista padre non funzionante?

childScrollView.setOnTouchListener(new View.OnTouchListener() { 

    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
    Log.v(TAG, "CHILD TOUCH"); 

    // Disallow the touch request for parent scroll on touch of child view 
    findViewById(parentLayouttId).requestDisallowInterceptTouchEvent(true); 
    return false; 
    } 
}); 
+0

sì ho provato, app si è arrestato. –

+0

Hai detto che le viste sono state aggiunte dinamicamente. Queste visualizzazioni possono essere referenziate direttamente dall'attività? quale eccezione è? Nullpointer? lo stack trace sarebbe bello da scoprire! – Kottary

+0

sì è un'eccezione del puntatore nullo .. –

Problemi correlati