Привязка данных с помощью функции toString («некоторая строка») - PullRequest
0 голосов
/ 14 декабря 2018

Я хочу показать дату создания заметки.Я использую привязку данных, мне нужно использовать функцию toString для форматированной строки даты, но функция toString принимает строку в качестве аргумента.Вот код:

<data>
        <import type="com.example.path.myproject.model.Note"/>
        <variable
            name="noteViewModel"
            type="com.example.path.myproject.note.NoteViewModel" />
</data>

        <TextView
                    android:id="@+id/createdDate"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:text="@{noteViewModel.note.createDate.toString("dd/mm/yyyy")}"
        />

Но у меня есть ошибка, потому что внутри я не могу использовать двойные кавычки.Как я могу решить это?

Ответы [ 2 ]

0 голосов
/ 15 декабря 2018

Вы можете добавить строку в файл значений строк, а затем передать значение этой строке.

<TextView
android:id="@+id/createdDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text='@{@string/dateString(noteViewModel.note.createDate("dd/mm/yyyy"))}'/>
0 голосов
/ 14 декабря 2018

Поместите этот атрибут в одинарные кавычки, и тогда вы сможете использовать двойные кавычки внутри него.

<TextView
    android:id="@+id/createdDate"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:text='@{noteViewModel.note.createDate.toString("dd/mm/yyyy")}'
    />
...