首页 > 解决方案 > Ubuntu 18.04 上的 Android Studio:未找到片段...如何“在代码中创建一个或多个片段”?

问题描述

设想

我开始在我的 Ubuntu 笔记本电脑上学习 Android 开发,但在使用片段创建布局时遇到了问题。

采取的步骤

  1. 我创建了一个带有空活动的新项目
  2. 我右键单击我的应用程序文件夹并执行:New > Fragment > Fragment (Blank)
    • 将其命名为TestingFragment
    • 未选中“包括片段工厂方法?
    • 未选中“包括接口回调?
  3. res > layout我更新了片段(fragment_testing)以在主要活动中识别它
  4. 我去了activity_main.xml文件,将FrameLayout添加到布局中
  5. 我试图将<fragment>组件拖到FrameLayout
  6. 我收到一条只有OK按钮的错误消息:

    未找到片段
    您必须首先在代码中创建一个或多个片段。

我最好的猜测

看来我的 Android 工作室没有认识到我已经创建了片段代码,只需要将其添加到布局中。
也许我需要配置Gradle脚本才能找到TestingFragment类?

我在谷歌上搜索过的东西

  1. 我已经使用Snapcraft安装、卸载并重新安装了 Android Studio
  2. 我已经使用android-studio-ide-191.5791312-linux.tar.gz/opt目录中的官方 Android 下载站点安装、卸载并重新安装了 Android Studio 。
  3. 我已确保通过File > Settings > Plugins检查所有插件
  4. 我已经通过Tools > SDK Manager验证了我的Android SDK Location指向正确的文件夹。 在SDK Platforms下安装并检查了以下 SDK:
    • 安卓 10.0 (Q)
    • 安卓 7.1.1(牛轧糖)
    • 安卓 7.0(牛轧糖)
  5. 我尝试了File > Invalidate Caches / Restart...选项,选择Invalidate and Restart按钮
  6. 我尝试了File > Sync Project with Gradle Files选项。
  7. 我尝试了“文件”>“与文件系统同步”选项

编辑:
我已经能够进入main_activity布局文件的xml并手动添加一个片段标签,发现它可以工作。以下是我设法添加的手动标签:

<fragment
        android:id="@+id/fragment"
        android:name="android.example.testfragments.ListFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:layout="@layout/fragment_list" />

仍在努力修复拖放“未找到碎片”问题。

然后去哪儿?

除了虚拟化另一个操作系统(如 Windows)以查看它是否在那里工作之外,有谁知道我可以从这里去哪里?

标签: android-studioandroid-fragmentsubuntu-18.04

解决方案


解决方案

因此,经过数小时的设置和谷歌搜索后,我发现了它无法正常工作的原因。

创建新项目时,应用程序的Package name字段不能遵循“ android.example.packageName ”模式。

在失败了这么久之后,我决定尝试一个新项目并更改所有选项以完全从头开始。在此过程中,我将包名称更改为“ com.frags.testing ”。

然后我继续执行上述步骤来制作片段,并且我成功地能够使用拖放方法将片段添加到main_activity布局中。

我还通过返回到我以前的项目(其中它不起作用)并创建一个名为Fragments的新包并将 Fragment 类重构为该新包来验证这是否有效。然后我回到main_activity布局并将<fragment>组件拖到布局中,它成功找到了片段。

希望这对其他人有帮助。

干杯,

贾斯汀


推荐阅读