2016-12-10 1 views
0

2つの子を持つLinearLayoutがあります。これらのうちの1つはフラグメントであり、もう1つは独自の子を持つLinearlayoutです。私がfragmentTransaction.replace(R.id.mainLayout, fragment); fragmentTransaction.commit();と呼ぶとき、2人の子供は位置を変えます。上部にあった断片が今底にあります。これをどうすれば解決できますか?FragmentTransactionはreplace()と呼ばれるときの順序を変更しています

私のXMLコード:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/mainLayout" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical"> 

<fragment 
    android:name="mojavozacka.testovi_za_vozacka_dozvola.Znaci2Fragment" 
    android:layout_width="match_parent" 
    android:layout_height="0px" 
    android:layout_weight="1"></fragment> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="50dp" 
    android:background="@drawable/buttonshape" 
    android:orientation="horizontal"> 

    <HorizontalScrollView 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="1"> 

     <LinearLayout 
      android:id="@+id/linearLayoutAppbar" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="horizontal"> 

     </LinearLayout> 
    </HorizontalScrollView> 

    <ImageView 
     android:layout_width="50dp" 
     android:layout_height="match_parent" 
     android:src="@drawable/s202_background" /> 
</LinearLayout> 

EDIT: いくつかのJavaコードは、断片からの眺めがクリックされるとフラグメントビューがされているときに呼び出され、いくつかの方法

FragmentManager fragmentManager; 
FragmentTransaction fragmentTransaction; 
@Override 
public void onCreate(Bundle b) 
{ 
    super.onCreate(b); 
    setContentView(R.layout.test_layout); 

    fragmentManager = getFragmentManager(); 
    fragmentTransaction = fragmentManager.beginTransaction(); 
... 

を追加しましたかわった。これに代えて

Znaci4Fragment fragment; 
private void prasanje1() 
{ 
    fragment = new Znaci4Fragment(); 
    fragmentTransaction.replace(R.id.mainLayout, fragment); 
    fragmentTransaction.commit(); 
} 
+0

をコンテナに取って代わる、

<RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/fragment_container"/> 

をコンテナーを追加? – Christine

+0

確かに、ここに私のJavaコードが見て –

答えて

0

<fragment 
    android:name="mojavozacka.testovi_za_vozacka_dozvola.Znaci2Fragment" 
    android:layout_width="match_parent" 
    android:layout_height="0px" 
    android:layout_weight="1"></fragment> 

あなたは私たちに、関連するソースコードを与えることができ、その後、断片と

fragmentTransaction.replace(R.id.fragment_container, fragment); 
fragmentTransaction.commit(); 
+0

本当にその問題を解決します。 –

関連する問題