【问题标题】:Add fragment following Android Developer Documentation not working?在 Android 开发者文档之后添加片段不起作用?
【发布时间】:2022-01-07 02:47:52
【问题描述】:

我最近在https://developer.android.com/guide/fragments/create上找到,创建片段的方法如下,当我们有implementation "androidx.fragment:fragment-ktx:1.4.0"

但是,按照那里的所有步骤操作后,我仍然在add 上收到错误,如下所示

我可以很容易地修复它

            supportFragmentManager.commit {
                setReorderingAllowed(true)
                add(R.id.container, MainFragment())
            }

但是很好奇为什么它不起作用?我错过了什么吗?

只是为了提供上下文,我的imports如下

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.example.activityfragmentviewmodel.ui.main.MainFragment
import androidx.fragment.app.commit

我的库依赖是

    implementation 'androidx.core:core-ktx:1.7.0'
    implementation 'androidx.appcompat:appcompat:1.4.0'
    implementation 'com.google.android.material:material:1.4.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.2'
    implementation "androidx.fragment:fragment-ktx:1.4.0"
    implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.4.0'
    implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0'

【问题讨论】:

  • 您是否在该对话框中选择了“导入”操作并导入了reified add extension method
  • 谢谢伊恩。看来我只需要添加import androidx.fragment.app.add

标签: android android-fragments android-ktx


【解决方案1】:

文档使用的具体化add 方法是extension method,这意味着您需要导入它,就像您导入的commit 扩展方法一样:

import androidx.fragment.app.add

【讨论】:

    猜你喜欢
    • 2014-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-27
    • 1970-01-01
    • 2018-06-07
    相关资源
    最近更新 更多