約 30 個のアイテムを含むリスト ビューがあります。下にスクロールすると、リストの一番下に移動し、ユーザーがリストに触れても停止しません。
リストビューがタッチされたときにスクロールを停止する方法はありますか?同時に、ユーザーはonItemClick(既に処理されています)を使用してナビゲートできるはずです..
ありがとうございました!
約 30 個のアイテムを含むリスト ビューがあります。下にスクロールすると、リストの一番下に移動し、ユーザーがリストに触れても停止しません。
リストビューがタッチされたときにスクロールを停止する方法はありますか?同時に、ユーザーはonItemClick(既に処理されています)を使用してナビゲートできるはずです..
ありがとうございました!
を使用しsmoothScrollBy
ます。
@Override
public boolean onTouchEvent(MotionEvent ev)
{
switch (ev.getAction())
{
case MotionEvent.ACTION_UP:
this.smoothScrollBy(0, 0);
break;
}
return super.onTouchEvent(ev);
}
リストビューでdispatchTouchEventをオーバーライドする
@Override
public boolean dispatchTouchEvent(MotionEvent ev){
if(ev.getAction()==MotionEvent.ACTION_MOVE){
return true;
}return super.dispatchTouchEvent(ev);
}
Nitin Guptaの答えを参照して、私は自分自身を思いつきました:
public class OnTouchListenr implements OnTouchListener{
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_DOWN)
{
businessResultListView.smoothScrollBy(0, 0);
return true;
}
return false;
}
}
次に、次のようにリスト ビューに OnTouchListener を設定します。
businessResultListView.setOnTouchListener(new OnTouchListenr());