【问题标题】:Android Data Binding pass different view from onClickAndroid数据绑定从onClick传递不同的视图
【发布时间】:2020-07-30 07:10:32
【问题描述】:

我需要使用数据绑定为 image2 单击 image1 设置动画。 我想知道是否存在从 XML 中的 onclick 方法传递不同视图的方法,因为我需要 image2 视图。 在下面的示例中,我传递视图 image1 但我想传递 image2 视图:

 <?xml version="1.0" encoding="utf-8"?>
     <layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:ignore="MissingDefaultResource">

    <data>

        <import
            alias="v"
            type="android.view.View" />

        <variable
            name="viewModel"
            type="MainFragment" />
    </data>

    <androidx.constraintlayout.widget.ConstraintLayout
        android:id="@+id/main_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/background_sky">


        <ImageButton
            android:id="@+id/image1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_margin="8dp"
            android:background="@drawable/ic_one"
            android:onClick="@{(v)-> viewModel.rotateImage(v)}"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.0"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.0" />

        <ImageButton
            android:id="@+id/image2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_margin="8dp"
            android:background="@drawable/ic_two"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="image1"
            app:layout_constraintHorizontal_bias="0.0"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.0" />

【问题讨论】:

    标签: android android-studio data-binding


    【解决方案1】:

    请尝试修改以下代码:

      <ImageButton
                android:id="@+id/image1"
                ...
                android:onClick="@{(v)-> viewModel.rotateImage(image2)}"
                ... />
    

    【讨论】:

    • 是的,它正在工作。我相信这是完全不同和复杂的。谢谢
    猜你喜欢
    • 2016-09-13
    • 2016-09-03
    • 1970-01-01
    • 2011-01-14
    • 2019-12-03
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多