所以我基本上有一个'DemosFragment'按钮,当我点击它,我想它打开另一个片段(SettingsFragment),我现在明白我需要一个活动要解决这个问题,因为按钮目前有一个使用intent/startActivity的onClick方法,那么我将如何去创建一个只包含我的片段的活动?我知道这可能听起来很奇怪,我写了它,我刚开始Android开发,但基本上我有一个片段,因为我想要一个片段有一个按钮来打开另一个片段,我想我需要一个活动的片段我是试图打开,那么我该如何创建这个活动,以及我需要放置哪些内容?谢谢。试图创建一个按钮来打开一个片段(安卓)
回答
你需要用下面的代码的活动:
public class ShowFragmentActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_fragment);
}
}
你也有你的资源来创建一个名为activity_show_fragment.xml布局xml文件/文件夹布局:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment class="com.example.yourFragmentsClassName"
android:id="@+id/fragment_id"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
这应该工作只显示你的片段。 要启动活动,在按钮的onClick方法粘贴此代码:
Intent i = new Intent(this, ShowFragmentActivity.class);
startActivity(i);
它总是一个很好的决定来看看官方的文档:http://developer.android.com/reference/android/app/Fragment.html。 希望有所帮助!
谢谢你,对你的代码进行了一些调整,我得到它的工作,除了现在我切换到片段时,我的顶部标签没有显示,有没有办法让标签仍然出现? – 2014-09-19 16:35:49
哇!你的问题需要很长的回答,但是一个很好的做法(也是疯狂的)Fragments不能相互通信,但它们可以由一个Activity来主持;在这种情况下,Activity可以管理它们之间的通信流(碎片),并可以通过Bundle,Intent和Handler等几种方式进行开发。看看这里的ufficial Android文档:
http://developer.android.com/training/basics/fragments/index.html
构建一个灵活的用户界面的android docs部分是如何启动/从Activity
加载Fragment
一个很好的例子。在该示例中,您将看到Activity
XML中的FrameLayout
用于片段容器。这将是显示所有片段的View
。
当您使用FragmentTransaction
载入片段时,片段布局的内容将显示在容器视图中。在上面引用的例子中,这与Android支持库中包含的类SupportFragmentManager
一起发生,用于促进早期版本操作系统中的片段事务。 SupportFramgnetManager要求您扩展FramentActivity
而不仅仅是Activity
。如果您不担心向后兼容性,并且正在扩展活动,而不是片段活动,则可以简单地使用getFragmentManager()。
getFragmentManager().beginTransaction()
.add(R.id.fragment_container, firstFragment).commit();
在初始添加事务后,您可以使用片段事务的替换方法在片段之间切换。替换正是它听起来像,它换一个片段换另一个。要在第一次使用内完成此操作,请使用
SecondFragment secondFragment = new SecondFragment();
getActivity().getFragmentManager().beginTransaction()
.replace(R.id.fragment_container, secondFragment).commit();
请注意,从片段内使用getActivity()。这允许您引用主机活动的上下文以访问片段管理器。当你在活动中时,你不需要使用getactivity,因为片段管理器已经可以从该上下文访问。
- 1. 按钮打开一个片段
- 2. 试图改造一个按钮,打开一个模式窗口
- 3. 从另一个片段打开片段
- 4. 创建一个按钮,创建按钮
- 5. 学习js/jquery试图创建一个开始按钮
- 6. 如何建立一个地图切换按钮在安卓
- 7. 创建一个图像按钮,打开一个新的活动onclick粉碎
- 8. 按钮都从一个Android片段打开相同的活动
- 9. 从同一个按钮打开和关闭片段?
- 10. 安卓:如何点击一个按钮
- 11. 一个片段到另一个片段的按钮单击
- 12. 创建一个图像按钮,创建一个声音的HTML
- 13. 试图建立一个片段类
- 14. 安卓与两个片段
- 15. 安卓菜单,打开一个网页视图或幻灯片图像
- 16. 试图为每个对象实例创建一个按钮
- 17. 我想创建一个页面,我有一个按钮和按钮点击打开其他按钮
- 18. 安卓:如何创建一个启动
- 19. 创建一个安卓商店
- 20. 安卓幻灯片按钮
- 21. Qt:创建一个“svg图像按钮”
- 22. 我可以创建一个函数告诉按钮打开
- 23. 试图画一个按钮
- 24. 试图用一个按钮打开/关闭div
- 25. 安卓:错误创建YoutTubePlayerView内片段
- 26. 试图创建一个按钮,分成两个新的按钮点击
- 27. 打开一个图片点击另一个图片等等
- 28. 试图用java创建一个开关
- 29. 创建一个Windows服务来打开一个程序 - Delphi
- 30. 如何创建一个imageView来打开一个url?
您是否已经将此片段加载到某个活动中,或者您是否只编码了一个片段,并且需要知道如何显示该片段以及切换到下一个片段。 – Rarw 2014-09-19 16:13:53