2016-08-15 24 views
0

私はScrollViewとネストしたTextViewを持っています。 setOnTouchListenerに設定すると、ジェスチャは認識されますが、スクロールが機能しない。そしてsetOnTouchListenerをネストされたTextViewに設定すると、正常に動作します。私はグーグルで試してみましたが、問題を解決できませんでした。 しかし、私の必要性はsetOnTouchListenerScrollViewに設定することです。GestureListenerをScrollViewに設定するとスクロールが機能しない

助けてください。

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> 

あなたがonTouchを設定する必要があるのはなぜ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; 
      } 
     }); 
+2

私はあなたのonTouchでの真実の返答で、それはtoucheventを処理したと言っていると信じています。このようにして、ScrollViewはtouchevent(スクロール) – Stefan

+0

を処理しなくなりました。これは、falseをfalseに設定することによって機能しました。ありがとう:) –

答えて

0

。上下にスクロールするだけの場合。下記を試してください

ScrollView sv; 

sv.post(new Runnable() { 
       @Override 
       public void run() { 
        sv.fullScroll(View.FOCUS_DOWN); 
       } 
      }); 

スクロールビューxmlにこれを必ず入れてください。それが役に立てば幸い。

android:fillViewport="true" 
関連する問題