Android切换片段切换整个视图

时间:2015-01-08 21:17:16

标签: android fragment

我的活动是半个片段和一半UI元素。

我想通过其他两个视图以编程方式动态切换这个片段,这两个视图具有自己的逻辑和自己的UI,但屏幕上半部分的UI元素和它们的功能是相同的。

我的整个问题是当我使用FragmentManager切换片段时,结果是整个屏幕被片段视图替换并重叠活动的前半部分。

这里是活动中的代码:

 FragmentManager fragmentManager = getSupportFragmentManager();
 FragmentTransaction fragmentTransaction = 
 fragmentManager.beginTransaction();
 FirstFragment firstFragment = new FirstFragment ();
 SecondFragment secondFragment = new SecondFragment ();
 if (mode==2) {
 fragmentTransaction.replace(android.R.id.content, secondFragment );

 }else if (mode==1){

 fragmentTransaction.replace(android.R.id.content, firstFragment );
 }
 fragmentTransaction.commit();   

这里是活动视图中的片段xml代码

<LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

          <fragment    
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </LinearLayout>

注意我并不关心在活动可见时切换片段,我的代码中的“mode”变量只在活动的oncreate中设置一次。

问题是我必须将我的视图的第一部分放在片段中吗?

1 个答案:

答案 0 :(得分:0)

正如doodeec所说android.R.id.content获取整个视图,我应该为片段分配一个id然后调用

   fragmentTransaction.replace(android.R.id.myfragment, secondFragment );

 fragmentTransaction.replace(android.R.id.myfragment, firstFragment );