Я использовал пример здесь для реализации класса OnSwipeTouchListener для моего приложения для Android. Он отлично работает в моей основной деятельности, но не работает ни в одной из моих операций с фрагментами.
Вот как я сделал в OnCreate моей MainActivity, и она работает нормально:
val view = window.decorateView.rootView
view.setOnTouchListener(object: OnSwipeTouchListener(this@Dashboard) {
override fun onSwipeLeft() {
Toast.makeText(context, "Left", Toast.LENGTH_SHORT).show();
}
override fun onSwipeRight() {
Toast.makeText(context, "Right", Toast.LENGTH_SHORT).show();
}
})
И вот как я сделал в onCreateView моего FragmentActivity, и он не работает:
val view = inflater!!.inflate(R.layout.fragment_item, container, false)
view.setOnTouchListener(object: OnSwipeTouchListener(activity) {
override fun onSwipeLeft() {
Toast.makeText(context, "Left", Toast.LENGTH_SHORT).show()
}
override fun onSwipeRight() {
Toast.makeText(context, "Right", Toast.LENGTH_SHORT).show()
}
})
Нет ошибки, но функции не запускаются во FragmentActivity.
Я искал много похожих вопросов, но ни один из них не решил мою проблему.