Tôi có bố cục hai ngăn với các nút ở bên trái. Khi một nút được nhấn, đoạn tương ứng của nó sẽ được hiển thị ở bên phải. Đôi khi các mảnh chồng lên nhau nhưng đây là một vấn đề liên tục. Tôi không thể sao chép nó mọi lúc nhưng điều đó xảy raPhân đoạn chồng chéo đôi khi khi chuyển đổi các tab
public void onClick(View v) {
switch (v.getId()) {
case R.id.imageButtonSettingsManageBooks:
SettingsManageBooksFragment mbFragment = new SettingsManageBooksFragment();
getFragmentManager().beginTransaction().replace(R.id.setting_detail_container2, mbFragment).addToBackStack(null).commit();
mImgFragmentTitle.setImageResource(R.drawable.manage_my_books);
this.getSupportFragmentManager().executePendingTransactions();
break;
case R.id.imageButtonSettingsPurchaseHistory:
SettingsPurchaseHistoryFragment phFragment = new SettingsPurchaseHistoryFragment();
getFragmentManager().beginTransaction().replace(R.id.setting_detail_container2, phFragment).commit();
mImgFragmentTitle.setImageResource(R.drawable.purchase_history);
this.getSupportFragmentManager().executePendingTransactions();
break;
case R.id.imageButtonSettingsAudio:
SettingsAudioFragment aFragment = new SettingsAudioFragment();
getFragmentManager().beginTransaction().replace(R.id.setting_detail_container2, aFragment).commit();
mImgFragmentTitle.setImageResource(R.drawable.audio);
this.getSupportFragmentManager().executePendingTransactions();
break;
case R.id.imageButtonSettingsRestore:
SettingsRestoreFragment rFragment = new SettingsRestoreFragment();
getFragmentManager().beginTransaction().replace(R.id.setting_detail_container2, rFragment).commit();
mImgFragmentTitle.setImageResource(R.drawable.restore);
this.getSupportFragmentManager().executePendingTransactions();
break;
case R.id.imageButtonSettingsCopyright:
SettingsCopyrightFragment cFragment = new SettingsCopyrightFragment();
getFragmentManager().beginTransaction().replace(R.id.setting_detail_container2, cFragment).commit();
mImgFragmentTitle.setImageResource(R.drawable.copyright);
this.getSupportFragmentManager().executePendingTransactions();
break;
case R.id.imageButtonSettingsAbout:
SettingsAboutFragment abFragment = new SettingsAboutFragment();
getFragmentManager().beginTransaction().replace(R.id.setting_detail_container2, abFragment).commit();
mImgFragmentTitle.setImageResource(R.drawable.about);
this.getSupportFragmentManager().executePendingTransactions();
break;
Dường như vì tôi thay thế từng đoạn bằng một đoạn mới có thể gây chồng chéo. Có cách nào để xóa tất cả các mảnh trước khi cam kết một mảnh mới không?
Tôi gặp vấn đề tương tự, (luôn luôn sử dụng thay thế), nhưng tôi đang sử dụng thư viện hỗ trợ. Chỉnh sửa: Có vẻ như bạn cũng vậy, nhưng bạn đang gọi getFragmentManager thay vì getSupportFragmentManager ... đó có phải là vấn đề của bạn không? Như với tôi, đó là một vấn đề rất liên tục mà chúng tôi không thể tái tạo. – StackOverflowed
Nó sẽ không cho phép tôi chỉnh sửa bình luận trước đó của tôi nhưng Edit 2: Nếu nó quan trọng, một thiết bị mà chúng tôi đã nhìn thấy nó xảy ra trên là Samsung Galaxy S4. – StackOverflowed
Tôi nghĩ rằng chúng tôi có giải pháp khác tốt hơn so với 'loại bỏ giải pháp' bằng cách sử dụng theo cách này. Trong 'tất cả các tệp xml' của bạn, nên xác định màu nền cho nó, nó sẽ giải quyết vấn đề: Thêm 'android: background =" @ android: color/black "vào thẻ Xem bạn đã xác định. –