如何使用tools:context关联Fragment文件?

How to use tools:context to associtate Fragment files?

最近我遇到了在我的活动布局文件中使用 tools:context 的用例。 我了解到我可以使用它将 Activity class 文件关联到我的布局文件。

但是我如何使用它将片段 class 文件关联到任何布局?

我已经尝试过 Bacuase,它只在自动完成建议中显示 Activity 列表。

你有没有试过这样做:

假设 Relative layout 是您 fragment's 布局中的父布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            tools:context=".Folder.Fragment"  >

现在这个 .xml 文件将与您的 .Fragment class 相关联,这是一个片段。

使用布局文件创建片段并查看 tools:context 的布局文件。

AndroidStudio有bug,必须自己手动写,会显示红色(表示未解决),等你打完后,会显示绿色

重点:自动补全不显示名称,手动输入即可编译。

我刚刚遇到了同样的问题,在 tools:context=".NameFragment" 语句中输入片段名称时无法识别片段名称。

首先删除该片段的 class 和 xml 文件,然后:

  1. 右键点击包名,选择New->Fragment->Fragment (Blank)
  2. 输入您的片段名称(布局名称是在同一表单上自动创建的)并单击“完成”。

此方法同时创建了 class 和 xml 文件。此时,我的 xml 文件中的 tools:context 语句自动具有我的片段名称,并且不是红色而是绿色文本(表明它已被识别)。我在 Android Studio Bumblebee 2021.1.1.

上看到了这个

之前我先创建了 xml 文件,然后创建了 class 文件(并且 class 文件名无法被 tools:context 声明)。