当前位置: 首页 > 知识库问答 >
问题:

DataBindingUtil类型不匹配

蒲昊
2023-03-14

我在这里复制代码;https://developer.android.com/codelabs/kotlin-android-training-view-model#5

但我从DataBindingUtil中得到了一个类型不匹配。充气方法。正在返回ViewDataBinding!,当需要FragmentPlayBinding时。

我https://github.com/google-developer-training/android-kotlin-fundamentals-apps在这里下载了工作应用程序,并检查了所有依赖项等。一切看起来都很好。虽然那是一个较旧的项目。

我的代码;

class PlayFragment : Fragment() {
private val TAG = "PlayFragment"
private lateinit var binding: FragmentPlayBinding
private lateinit var viewModel: PlayViewModel

override fun onCreateView(
    inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
): View? {

    //Inflate view and obtain an instance of the binding class
    binding = DataBindingUtil.inflate(
        inflater,
        R.layout.fragment_play,
        container,
        false
    )
    Log.i(TAG, "Called ViewModelProvider.get")
    viewModel = ViewModelProvider(this).get(PlayViewModel::class.java)

    //viewBinding.correctButton.setOnClickListener { onCorrect() }
    //viewBinding.skipButton.setOnClickListener { onSkip() }
    //updateScoreText()
    //updateWordText()
    return binding.root
}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    Log.d(TAG, "onViewCreated")
}

}

有些事情我已经尝试过了;

  1. 检查了所有依赖项。我得到了与工作示例项目相同的,但使用了最新版本
  2. 清理重建工程
  3. 无效和重建缓存
  4. 确保所有命名空间都是小写的

我使用的是Android Studio Bumblebee | 2021.1.1 Beta 3(正如我所说,示例项目中的这段代码有效)。

谢谢

共有2个答案

穆文斌
2023-03-14

更改此行

发件人:

binding = DataBindingUtil.inflate(
        inflater,
        R.layout.fragment_play,
        container,
        false
    )

到:

binding =  FragmentPlayBinding.inflate(inflater, container, false)
裴承安
2023-03-14
var binding = FragmentPlayBinding.inflate(inflater, container, false);
//set variables in Binding
return binding.getRoot();
 类似资料:
  • 问题内容: 编写内部API时遇到以下错误。我正在尝试以以下方式读取值(SQL Server 2012): 现在,虽然看起来有些奇怪,但我以这种方式阅读的原因是因为它是我编写的包装程序的一部分,我们使用它来加快sql的读写速度。它接受一个匿名对象,并根据属性名称或属性名称将所有sql值读入其中。 这适用于除以外的所有内容。我进行了类型比较,它也同样失败,因此很hacky,我什至无法检查该列是否为类型

  • 问题内容: 链接是 http://iipacademy.in/askpoll/ten_feed.php 异常在onPostExecute()方法(第4行)中: LOGCAT: 消息是一个数组,所以它的代码应该是什么或如何解决? 提前致谢 。。。 问题答案: 看起来响应是一个字符串而不是json数组 结果是一个json对象而不是json数组 应该

  • 我对Kotlin是新来的,这是我的问题: 我使用android studio 3.2.1 kotlin版本:1.2.71 对此有什么想法吗?

  • 问题内容: 我试图在Swift中使用JSONDecoder将JSON转换为Structs,所以我编写了所有Structs,将它们修改了几个小时,但它仍然给我这个错误。我不知道是否有办法查看给出此信息的行。我将在下面发布我的struct,并在其后发布Json File链接。 完整的错误描述是: typeMismatch(Swift.Dictionary ,Swift.DecodingError.Co

  • 使用任意数量的属性定义任何类型的简单react函数组件时出现类型脚本错误,包括使用FC、ComponentWithChildren等... 这是一个最小的复制品 给了我错误 类型“({ className }: { className?:未定义;}) = 我不明白这就是我总是定义组件的方式。打字稿中有什么我不知道的新东西吗?

  • 我对闪身是个新手。我正在尝试使用Flink1.3.2从我们的Kinesis流中读取并将输出写入一个Cassandra表。该程序能够从Kinesis流式传输数据。 提前道谢!