Escolha uma Página

Passando data para layout importado

Escrito por Alisson

agosto 22, 2023

Para transmitir dados é muito simples basta usarmos o “bind” para fazer isso. Então vamos colocar a mão na massa.

No códido abaixo vou mostrar um exemplo de layout principal.

No códido você vai ver uma importação em negrito, ela é a importação do “bind”

<?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"
    xmlns:bind="http://schemas.android.com/apk/res-auto"
    tools:context=".ui.AccompanimentActivity">

    <data>
        <variable
            name="viewModel"
            type="br.com.alissonbolsoni.Viewmodel" />

    </data>

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <include
            android:id="@+id/frag_included_layout"
            layout="@layout/user_layout"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            bind:exam="@{viewModel.user}"/>

        ...

    </androidx.constraintlayout.widget.ConstraintLayout>
</layout>

abaixo está somente o códio da importação.

    xmlns:bind="http://schemas.android.com/apk/res-auto"

Abaixo vou colocar um código de exemplo do layout que será importado no layout filho.

<?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:context=".ui.SystemActivity">

    <data>
        <variable
            name="user"
            type="br.com.alissonbolsoni.User" />
    </data>

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="@dimen/m_p_small">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@{user.name}"/>

        ....

    </androidx.constraintlayout.widget.ConstraintLayout>
</layout>

Você pode gostar…

0 comentários

Enviar um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *