SherlockFragmentActivity
에 ViewPager
을 생성 중입니다. 내 앱의 구조는 ViewPager
-> tab1, tab2, tab3의 세 가지 탭으로 구성됩니다. tab2에서 fragment1-> fragment2-> fragment3과 같은 다른 조각을 표시하려고합니다. ViewPager
에서 아래에 표시된대로 FragmentStatePageAdapter
을 사용하여 3 개의 탭 (Fragment
s)을 추가했습니다.SherlockFragmentActivity에있는 ViewPager의 단일 탭에서 조각 거래
public Fragment getItem(int arg0) {
switch (arg0) {
case 0:
SearchTab searchtab = new Tab1();
return tab1;
case 1:
BrowseTab browsetab = new Tab2();
return tab2;
case 2:
SavedItemsTab savedTab = new Tab3();
return Tab3;
}
return null;
}
이제 tab2에서 fragment1에 ListView
을 표시했습니다. 사용자가 ListView
에서 항목을 클릭하면 다른 ListView
과 함께 다른 조각 (조각 2)을 표시하려고합니다. 나는 다음과 같은 설정 단편 트랜잭션에 의해이 일을하고있다 :
Fragment newFragment = new Brxxxx_Fragment();
Bundle args = new Bundle();
args.putString("Main_Cat_ID", Main_Category_ID_Str);
args.putString("Main_Cat_Name", Main_Category_Name_Str);
newFragment.setArguments(args);
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.b_p_layoutid, newFragment);
transaction.addToBackStack(null);
transaction.commit();
을이 단계 후, 나는 또 다른 단편 (fragment2)을 표시 할 수 있어요,하지만 (fragment1) 내 오래된 단편은 여전히 새로운 조각 아래 볼 수 있습니다.
내가 replace()
를 사용하지 않고 이전의 조각을 제거하려면