У меня есть разные подпредставления, которые я хочу включить в свое представление, например, в мой XML-файл:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/myLayout"/>
<!--Include this as default and if user swipes right-->
<include layout="@layout/dashboard_user_view" android:id="duv"/>
<!--Include this if the user swipes left-->
<include layout="@layout/dashboard_widgets_view" android:id="dwv"/>
Включение одного макета работает нормально, но теперь я хочу переключаться между ними.
Итак, я добавил OnSwipeTouchListener из этого учебника, и я назвал его в своем классе Kotlin следующим образом:
val myLayout = findViewById<RelativeLayout>(R.id.myLayout)
myLayout.setOnTouchListener(object : OnSwipeTouchListener(this) {
override fun onSwipeRight() {
//TODO
}
override fun onSwipeLeft() {
//TODO
}
override fun onTouch(v: View, event: MotionEvent): Boolean {
return gestureDetector.onTouchEvent(event)
}
})
Это дает мнеошибка, которая говорит:
CustomView "RelativeLayout" вызвал setOnTouchListener, но не переопределяет ...
Итак, как мне поместить оператор if, чтобы определитькакой вид показать в моем классе Kotlin?Или я помещаю это в мой XML?И как смахивающее действие будет работать таким образом?
(надеюсь, вы понимаете мою проблему)