J'ai un ScrollView
et un TextView
imbriqué. Lorsque je l'ai défini setOnTouchListener
, les gestes sont reconnus mais le défilement ne fonctionne pas. Et si je mets setOnTouchListener
à TextView
imbriqué, son fonctionnement bien. J'ai essayé de googler mais je n'ai pas pu résoudre le problème. Mais mon besoin est de mettre le setOnTouchListener
à ScrollView
.Le défilement ne fonctionne pas lorsque je mets GestureListener à ScrollView
Aidez-nous s'il vous plaît.
layout.xml
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF0000"
android:id="@+id/scrollView">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:background="#00FF00"
android:padding="15dp"
android:textSize="18sp" />
</LinearLayout>
</ScrollView>
MainActivity.java
mGestureDetector = new GestureDetectorCompat(this,this);
findViewById(R.id.scrollView).setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, final MotionEvent event) {
Log.e("Stark", "setOnTouchListener");
mGestureDetector.onTouchEvent(event);
return true;
}
});
Pas tout à fait sûr, mais je crois que vous dites avec le retour vrai dans votre onTouch, qu'il a manipulé le touchervent. De cette façon, ScrollView ne gère plus le touchervent (le défilement) – Stefan
Vous avez basculé. Cela fonctionnait en définissant return sur false. Merci :) –