MaterialCardView: невозможно установить проверенное состояние в макете XML - PullRequest
0 голосов
/ 31 октября 2019

Android Studio 3.6

В макете XML у меня есть это:

 <com.google.android.material.card.MaterialCardView
                android:id="@+id/cardPaymentCardView"
                style="@style/cardViewStyle"
                android:layout_width="0dp"
                android:layout_height="0dp"
                app:checkedIcon="@drawable/ic_credit_card_outline_select"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent" />

Чтобы включить / выключить проверенное состояние, я использую это (в моей активности)

dataBinding.cardPaymentCardView.isChecked = !dataBinding.cardPaymentCardView.isChecked

и работает нормально. Хорошо.

Но мне нужно установить статус проверки прямо в XML. Smt как это:

android:checked_state="true"

но я получаю ошибку компиляции

1 Ответ

1 голос
/ 31 октября 2019

Стандартный способ перехода в проверенное состояние не предусмотрен, клиенты должны вызывать setChecked (boolean) на карте

Проверяемые карты

Карты реализуют интерфейс Checkable. В стиле по умолчанию, @ style / Widget.MaterialComponents.CardView, отмеченное состояние показывает отмеченный значок и изменяет цвет наложения. Стандартный способ перехода в проверенное состояние не предусмотрен, клиенты должны вызывать setChecked (boolean) на карте. Также предоставляется установщик для OnCheckedChangeListener.

Документация MaterialCardView

...