在代码中将片段添加到活动布局或将其添加到xml中是否有区别?
if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
.add(R.id.container, CardViewFragment.newInstance())
.commit();
}
VS
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:name="com.example.CardViewFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:tag="tag_cardview_fragment" />
答案 0 :(得分:1)
如果使用代码方法,则可以动态更改加载的片段,例如按钮单击或任何其他用户生成的事件。
答案 1 :(得分:1)
xml和代码几乎相似。如果您在活动的布局中使用了该xml代码,那么我们可以预期碎片行为几乎没有差异。
如果您将xml
放入活动中,则片段会自动创建/加载, 后可以获取其实例。
但是在这里:
if (savedInstanceState == null) {
getFragmentManager().beginTransaction()
.add(R.id.container, CardViewFragment.newInstance())
.commit();
}
或
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:name="com.example.CardViewFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:tag="tag_cardview_fragment" />
您正在创建片段实例优先,然后将其加载到活动中。