- ListView
-- Viewpager(addHeaderView)
---- ImageView×5枚
というような構造になっているイメージスライダーを作成中なのですがどうしても
わからないことがあります。
n秒ごとにsetCurrentItem(position + 1)をして自動的に画像をスワイプさせていて、ユーザーのスワイプ中はこの自動スワイプを止めたいのですが、ユーザーがスワイプしたときにタッチイベントがcancelされます。
DOWN→MOVEが呼ばれた後に横にスライドしようとするとすぐにCANCELが呼ばれてUPが呼ばれません。
DOWNまたはMOVEしたときに、ViewPager#requestDisallowInterceptTouchEvent(true)を呼ぶ処理も行なったのですが、これだとUPはきちんと呼ばれるものの、Viewpagerのスワイプ自体が無効になります。
java
1@Override 2 public boolean onTouch(View v,MotionEvent e) { 3 int action = e.getAction(); 4 if(action == MotionEvent.ACTION_DOWN || action == MotionEvent.ACTION_MOVE) { 5 //TODO:自動ループをやめる処理 6 return true; 7 } else if (action == MotionEvent.ACTION_UP){ // ここがよばれない 8 //TODO:自動ループを再開する処理 9 Log.d("#","up"); 10 } 11 return false; 12 }
どなたかご教授お願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/06 14:10
2016/11/10 18:00