无法解析符号 'ActionFirstFragmentToSecondFragment'

Cannot resolve symbol 'ActionFirstFragmentToSecondFragment'

Google 的文档着重介绍了如何在 java 中构建 android 应用程序 (https://developer.android.com/codelabs/build-your-first-android-app#8) returns 使用 Intent 时出现错误。在第 7 步,它说:

FirstFragmentDirections.ActionFirstFragmentToSecondFragment action = FirstFragmentDirections.actionFirstFragmentToSecondFragment(currentCount);

但是我的 IDE 始终 returns 一个错误提示:无法解析符号 'ActionFirstFragmentToSecondFragment'。我尝试重新同步 gradle 文件,但我继续收到此错误。根据我的理解,我已经按照步骤进行了 T,但仍然无法找到问题的原因。

我想通了这个问题。事实证明,在 nav_graph.xml 文件中,我将参数添加到了错误的片段中。我将参数添加到片段 1,因为我认为我们应该将它添加到发送片段。但是,它需要添加到接收片段(片段 2)中。为了解决这个问题:

  1. 导航到您的 nav_graph.xml 文件
  2. 删除当前属性
  3. 向接收片段添加属性。 例如:如果您将值从片段 1 发送到片段 2,片段 2 应该添加参数。

为了理解:添加属性时,会生成 classes 以允许片段之间进行通信。

如果我向片段 2 添加参数,将生成以下 classes:

  • 第一个片段方向
  • SecondFragmentArgs
  • SecondFragmentDirections

如果我向片段 1 添加参数,将生成以下 classes:

  • SecondFragmentDirections
  • FirstFragmentArgs
  • 第一个片段方向

每个 class 包含导航到其他 class 的必要方法。这就是我之前收到错误的原因:“无法解析符号‘ActionFirstFragmentToSecondFragment’” 我试图从第一个片段导航到第二个片段,但是对于已生成的 classes,我尝试使用的方法不可用。