在xml布局文件中声明片段的标准方法是
<LinearLayout ...>
<fragment class="com.example.SomeFragment"
</LinearLayout>
其中SomeFragment是一个定义的java类
class SomeFragment extends Fragment {
...
}
可以说,我有3个片段; fragment1,fragment2和fragment3 . 当用户启动应用程序时,我将它们显示为fragment1,当他们点击按钮时,我将fragment1替换为fragment2等 .
在单个布局xml文件中定义3个片段的最佳方法是什么?
2 回答
您应该使用FrameLayout,这样您就不必在XML中指定片段类,这样它不仅限于一个类 .
而且你可以像这样在代码中设置片段
我举一个例子来在片段中切换两个布局:
首先声明一个包含两个片段的布局:(这取决于您在布局中需要多少片段)
fragment_layout_example.xml
上面的布局将显示两个片段Fragment1和Fragment2 . 对于Fragment1,我已经声明了容器,因为容器的内容将在运行时更改 . 所以这里没有宣布
Fragment
类 . 有关此检查的更多信息http://developer.android.com/training/basics/fragments/fragment-ui.html
然后创建一个扩展
Activity
的类FragmentExampleActivity . 如果您在向后兼容模式下使用Fragment,则扩展FragmentActivity
要为两个片段创建布局,请创建两个扩展
Fragment
的类以同样的方式为第二个Fragment创建Fragment类并设置布局
现在,如果要在单击按钮时将Fragment1中的片段布局切换到另一个布局,则创建另一个类,例如Fragment3.java并设置要切换的布局,并在Fragment1.java中编写以下代码
现在再次回到第一个片段,您可以单击后退按钮 . 但是如果你想回来点击按钮,那么在Fragment3.java中写下面的代码
谢谢!希望它能帮到你......