Как использовать @Preview с функцией компоновки, которая принимает параметр?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как использовать @Preview с функцией компоновки, которая принимает параметр?

Сообщение Anonymous »

У меня есть такая реализация:

Код: Выделить всё

...

@Composable
private fun PhoneVerificationCodeScreen(vm: MyViewModel) {
Column(...) {
...
OTPBlock(numberOfCells = NUMBER_OF_OTP_CELLS, isVerifyBtnEnabledState = vm.isVerifyBtnEnabledState)
...
}
}

...
Есть моя функция предварительного просмотра:

Код: Выделить всё

    class MyViewModelProvider : PreviewParameterProvider {
override val values: Sequence = sequenceOf(MyViewModel(
SavedStateHandle()
))
}

@Preview(
name = "Phone-portrait",
device = Devices.PHONE,
showBackground = true,
backgroundColor = 0x111,
showSystemUi = true
)
@Composable
private fun PhonePreviewVerificationCodeScreen(
@PreviewParameter(MyViewModelProvider::class) vm: MyViewModel
) = PhoneVerificationCodeScreen(vm = vm)
СПОЙЛЕР: до того, как я включил ViewModel в качестве параметра, он работал так, как ожидалось.
Я рассмотрел несколько решений в Google и последнее, которое я использовал. попробовал использовать PreviewParameterProvider, однако он тоже не работает.
Итак, вопрос в том, как «предварительно просмотреть» функцию компоновки, которая принимает параметр?
ОШИБКА:

java.lang.ClassNotFoundException: my_package.VerificationCodeViewModelProvider   at java.lang.ClassLoader.loadClass  at java.lang.ClassLoader.loadClass  в java.lang.Class.forName0  в java.lang.Class.forName  в androidx.compose.ui.tooling.ComposableInvoker.invokeComposable 


Подробнее здесь: https://stackoverflow.com/questions/778 ... es-a-param
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»