Как вызвать Composable в другом модуле из MainActivityAndroid

Форум для тех, кто программирует под Android
Ответить
Гость
 Как вызвать Composable в другом модуле из MainActivity

Сообщение Гость »


У меня есть простое приложение с модулем библиотеки Android. Я учусь вызывать composable между модулями в Jetpack Compose. Как ты делаешь это? Вот MainActivity из модуля приложения:
класс MainActivity : ComponentActivity() { переопределить fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { MyApplicationTheme { // Поверхностный контейнер, использующий цвет фона из темы Поверхность (модификатор = Modifier.fillMaxSize (), цвет = MaterialTheme.colorScheme.background) { Столбец (модификатор = Modifier.fillMaxSize()) { Приветствие («Андроид») SecondScreen.Asnackbar() } } } } } } @Композитный веселое приветствие (имя: String, модификатор: Модификатор = Модификатор) { Текст( text = "Привет, $name!", модификатор = модификатор ) }
а вот компоновка из файла в другом модуле библиотеки Android:
импортировать androidx.compose.material3.Snackbar импортировать androidx.compose.material3.Text импортировать androidx.compose.runtime.Composable @Композитный веселый закусочный бар(){ Закусочная { Text("это закусочная") } }
Проект скомпилировался нормально, но при запуске на эмуляторе сразу же вылетел с этой ошибкой java.lang.NoSuchMethodError: нет виртуального метода Asnackbar(Landroidx/compose/runtime/Composer;I)V в классе Lcom/example/ Second_screen/SecondScreen; или его суперклассы (объявление com.example. Second_screen.SecondScreen появляется в /data/data/com.example.myapplication/code_cache/.overlay/base.apk/classes2.dex)

ПРИМЕЧАНИЕ: я нашел ответ. Именно здесь. Можем ли мы создать составную функцию JetpackCompose в другой библиотеке?

Поэтому все, что мне нужно сделать, это добавить эти строки в мой модуль второго экрана: buildFeatures { сочинять правду } composeOptions { kotlinCompilerExtensionVersion '1.5.1'
Ответить

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

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

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

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

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