Отображение фрагмента в Jetpack Compose с использованием AndroidFragment<>Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Отображение фрагмента в Jetpack Compose с использованием AndroidFragment<>

Сообщение Anonymous »

У меня есть зависимость от стороннего пакета, который не реализован в Jetpack Compose, поэтому я пытаюсь отобразить Fragment, используя предложенный Android подход с использованием AndroidFragment, но не могу этого сделать, так как постоянно получаю следующее исключение, не знаю, что Я делаю неправильно

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

java.lang.IllegalStateException: View androidx.compose.ui.platform.AndroidComposeView{896ffd7 VFED..... ......ID 0,0-1440,3120} is not within a subclass of FragmentActivity.
Поскольку перед импортом библиотеки мы хотели поэкспериментировать с этим подходом, мы пытаемся добавить фрагмент в тестовое приложение, ниже приведены файл и зависимость.fragment_test.xml TestFragment.kt

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

class TestFragment : Fragment() {
private lateinit var binding: FragmentTestBinding
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
binding = FragmentTestBinding.inflate(inflater)
return binding.root
}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)

binding.tvOne.setOnClickListener {
Toast.makeText(context, "Button Has Been Clicked! Yipeee!!!!", Toast.LENGTH_LONG)
}
}
}
MainActivity.kt

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

class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

enableEdgeToEdge()
setContent {
DriveTestAceTheme {
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
Greeting(
name = "Android",
modifier = Modifier.padding(innerPadding)
)
}
}
}
}
@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
AndroidFragment(
modifier = Modifier.fillMaxSize()
)
}
}
build.gradle.kts

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

    // Fragment Compose dependencies
val fragment_version = "1.8.3"
implementation("androidx.fragment:fragment:$fragment_version")
implementation("androidx.fragment:fragment-ktx:$fragment_version")
implementation("androidx.fragment:fragment-compose:$fragment_version")
debugImplementation("androidx.fragment:fragment-testing:$fragment_version")
Я попробовал использовать AndroidFragment, поскольку это, похоже, подход, предложенный сообществом Android, но ничего не добился, пытался повторить то, что сделали другие, но все равно безуспешно. Кажется, я что-то упускаю.

Подробнее здесь: https://stackoverflow.com/questions/790 ... idfragment
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Отображение фрагмента в Jetpack Compose с использованием AndroidFragment<>
    Anonymous » » в форуме Android
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Использование AndroidFragment внутри Compose BottomNavigation воссоздается.
    Anonymous » » в форуме Android
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Использование AndroidFragment внутри Compose BottomNavigation воссоздается.
    Anonymous » » в форуме Android
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Передача растрового изображения в шейдер фрагмента glsl с использованием Jetpack Compose
    Anonymous » » в форуме Android
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • CircularProgressIndicator с ошибкой AndroidFragment
    Anonymous » » в форуме Android
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous

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