【问题标题】:Include view after if-condition在 if 条件之后包含视图
【发布时间】: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 是的,我只是不知道那是什么意思
  • 如果您点击下面答案中的链接,您实际上可以看到完整的解释。

标签: android xml kotlin


【解决方案1】:

谈到performClick(),您可以在这里阅读接受的答案android Button has setOnTouchListener called on it but does not override performClick

但是关于这些问题:

那么我如何使用 if 语句来确定在我的视图中显示哪个视图 Kotlin 类?还是我把它放在我的 XML 中?以及如何刷卡 行动是这样的吗?

我认为您指出的“教程”不适合您的目标。更好地阅读ViewPager

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-09
    • 2016-02-29
    • 1970-01-01
    • 1970-01-01
    • 2019-11-21
    • 2017-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多