2016-06-27 5 views
0

Ich habe eine Listenansicht in einer Aktivität und ich möchte ein Fragment öffnen, wenn auf ein Element geklickt wird. Dafür habe ich FrameLayout zusammen mit ListView verwendet, aber es verursacht eine Überschneidung der Fragmentklasse gegenüber der Aktivität. Gibt es eine Möglichkeit, diese Lösung zu entfernen?fragmenttransaction over listview

Activity's Listview Item Click code: 
 

 
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
 
      @Override 
 
      public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 
 

 
      
 

 
       DetailsView details = new DetailsView(); 
 
       getSupportFragmentManager().beginTransaction().addToBackStack(null).add(R.id.frame, details).commit(); 
 
      } 
 
     });
activity layout: 
 

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

 
    <com.baoyz.swipemenulistview.SwipeMenuListView 
 
    android:id="@+id/list" 
 
    android:layout_width="match_parent" 
 
    android:layout_height="match_parent" /> 
 

 

 
    <LinearLayout 
 
     android:layout_width="match_parent" 
 
     android:layout_height="match_parent"> 
 

 

 
     <FrameLayout 
 
      android:id="@+id/frame" 
 
      android:layout_width="match_parent" 
 
      android:layout_height="match_parent"/> 
 

 
    </LinearLayout> 
 

 
</RelativeLayout>

Antwort

0

Try FragmentManager.Replace() statt .add()

+0

Leider, dass beide das gleiche Ergebnis überprüft Ich habe, zu verwenden. @Alex. – CodeAssasins