Включить представление после условия if - PullRequest
0 голосов
/ 13 июня 2018

У меня есть разные подпредставления, которые я хочу включить в свое представление, например, в мой 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?И как смахивающее действие будет работать таким образом?

(надеюсь, вы понимаете мою проблему)

1 Ответ

0 голосов
/ 13 июня 2018

Говоря о performClick(), вы можете прочитать принятый ответ здесь На кнопке android вызывается setOnTouchListener, но он не переопределяет executeClick .

Но об этих вопросах:

Итак, как мне поместить оператор if, чтобы определить, какое представление показывать в моем классе Kotlin?Или я помещаю это в мой XML?И как смахивающее действие будет работать таким образом?

Я считаю, что «учебник», на который вы указываете, не годится для вашей цели.Лучше почитайте про ViewPager .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...