【发布时间】:2018-06-13 09:47:09
【问题描述】:
我必须在我的 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"/>
包含一个布局可以正常工作,但现在我想在两者之间切换。
然后我从this 教程中添加了 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 中?滑动操作将如何以这种方式工作?
(希望你能理解我的问题)
【问题讨论】:
-
它是否说“...但不覆盖
performClick”?它必须是警告而不是错误。 -
@LieForBananas 是的,我只是不知道那是什么意思
-
如果您点击下面答案中的链接,您实际上可以看到完整的解释。