我有点困惑如何在Android应用程序中使用Fragments!我是Android的初学者,我正在尝试为平板电脑7景观构建应用程序,如下图所示!
A,B,D如何交换片段!通过点击事件。当用户点击A时,A的内容移动并在D中显示,D的内容在A中显示,依此类推。
我希望能够动态交换A,B和D的内容!
我应该使用什么?片段,片段活动。
例如,如果D在VideoView中显示视频,那么当用户点击A我希望D显示TextView或任何类型的数据(但不是视频视图) 以及在A中显示视频。
<pre>
<!-->
////////////////////////////////////////////
/ ------- ----------------------------- /
/ - A - - - /
/ - - - - /
/ ------- - - /
/ - C - - D - /
/ - - - - /
/ ------- - - /
/ - B - - - /
/ - - - - /
/ ------- ----------------------------- /
////////////////////////////////////////////
<-->
</pre>
我做的是制作了4个片段并将它们放在Main_Activity
中fragment_A我将内容与D交换有问题。
fragment_B我在更改D的内容时遇到问题。
fragment_C我与Fragment_C类连接,显示一些静态数据。
fragment_D我将内容与A交换有问题。
我很高兴为您提供建议! 谢谢!
答案 0 :(得分:3)
您可以尝试去检查FragmentTransaction
检查替换/添加/删除片段方法。我相信你会找到你想要的东西。
前:
FragmentTransaction fragmentTransaction = activity.getSupportFragmentManager().beginTransaction();
fragmentTransaction.add(container, fragment);
fragmentTransaction.commit();
和类似的东西:
FragmentTransaction fragmentTransaction = activity.getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(container, newFragment);
fragmentTransaction.commit();
其中container
是一个简单的视图(RelativeLayout或其他东西)。
编辑:
示例:
main.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/fragment_snapshots"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical" >
<fragment
android:id="@+id/fragment_snap1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<fragment
android:id="@+id/fragment_snap2"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
<fragment
android:id="@+id/big_fragment"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1" />
</LinearLayout>
这个布局几乎指定了 - 除了我左边只有2个片段,你想要做什么。
然后使用onClickListeners
和我上面给你的功能,你可以做你想做的事。
您的容器将是我放入的不同ID(big_fragment,fragment_snap1&amp; fragment_snap2。
答案 1 :(得分:0)
你必须实现听众..请通过以下链接: -
http://developer.android.com/training/basics/fragments/communicating.html