我使用示例here为我的Android应用程序实现了OnSwipeTouchListener类。在我的MainActivity中它可以正常工作,但在我的任何Fragment活动中均不起作用。
这是我在MainActivity的OnCreate中所做的工作,并且工作正常:
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();
}
})
这是我在FragmentActivity的onCreateView中所做的工作,并且不起作用:
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中未触发函数。
我搜索了许多相关问题,但没有一个解决了我的问题。