私は、ページのためにGridViewを使用するViewPagerを持っています。画面全体をスワイプするとViewPagerがページを切り替えるようにしたいと思います。AndroidのViewPager内に配置されたGridView上のスワイプを正しく検出します。
問題は、スワイプがGridViewを越えて作成されたときに検出されないことです。 GridViewの外では、スワイプは正しく機能します。 GridViewは最初にViewPagerに渡さずにすべてのタッチイベントをトラップしているようです。
ソースコードをいじるが、私は、GridViewコントロールから拡張するカスタムクラスにこれをした:
@Override
public boolean onTouchEvent(MotionEvent event) {
return pager.onInterceptTouchEvent(event);
}
からpager
はViewPagerクラスを指します。これにより、ViewPagerはスワイプを正しく検出し、それに応じてページを移動しますが、GridViewではイベントを受け入れることができないため、アイテムをクリックできません。
ViewPagerのスワイプとGridViewのアイテムのクリックを正しく検出することができたらいいですか?
これには解決策がありましたか? – Praneeth