在我的content_main.xml
文件中,我有一个片段,我从该片段中引用了一个类。我关注的教程让我将com.
放在我的完全限定的类引用之前,但这给了我一个错误"无法解析符号' multipanelfragment'"。当我删除com.
并将其保留在下面的代码示例中时,它似乎工作正常。我一直以为你需要com.
,为什么没有呢?
谢谢!
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:baselineAligned="false"
android:animateLayoutChanges="true"
tools:context="netgenes.multipanefragment.MyActivity"
tools:showIn="@layout/activity_my">
<fragment
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/main_panel"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
class="netgenes.multipanefragment.MainPanelFragment" />
</RelativeLayout>
答案 0 :(得分:2)
从表面上看,您的tools:context
属性也使用了netgenes.multipanefragment
软件包名称,在创建此项目时,您根本没有在软件包名称中添加com
。
当您使用XML引用项目中的类时,框架需要能够在应用程序的类路径中找到该类。为此,它需要类的完整路径,包括Java包。
如果您的代码全部在com.myapp
包中,那么您将引用类似com.myapp.MainPanelFragment
的类。由于您的代码位于netgenes.multipanefragment
包中,因此您可以使用netgenes.multipanefragment.MainPanelFragment
。