我有一个名为editormodule
的模块,其中有一个片段和活动列表。假设它们分别命名为(fragment.MapFragment
)和(activity.EditActivity
)。这是我的EditActivity
<FrameLayout
android:id="@+id/mainview"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:id="@+id/map"
android:name="fragment.MapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:layout="@layout/fragment_map"/>
<include
layout="@layout/actionbar"/>
<include
layout="@layout/bottombar"/>
</FrameLayout>
当我从我的应用(com.mobile.app.Main2Activity)启动editActivity时,它说
com.mobile.app.Main2Activity.fragment.MapFragment
不存在。实际上,它位于模块中,而不是应用程序中。
我已经做过的事情: -我已将该模块添加到应用程序依赖项中 -我已将EditActivity添加到manifist.xml文件中 -我的应用仅包含一项活动,没有任何可能造成冲突的额外片段。
答案 0 :(得分:1)
在XML中,您需要类而不是名称。根据您的XML,尝试用以下内容替换片段部分:
<fragment
android:id="@+id/map"
class="com.mobile.app.fragment.MapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"/>
编辑: class属性必须包含片段类的类路径(包括整个包)。
Edit2 :在onCreateView布局中调用如下代码是一种很好的样式(在Kolin中:
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View {
val view = inflater.inflate(R.layout.fragment_your_layout, container, false)
return view
}