6
私は左にマイボタンがある2つのペインレイアウトを持っています。ボタンを押すと、対応するフラグメントが右側に表示されます。フラグメントが重なることもありますが、これは断続的な問題です。私はすべての時間、それを複製することはできませんが、それはタブを切り替えるときにフラグメントが重複することがある
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;
それは私がオーバーラップを引き起こしている可能性があり、新たなフラグメントと、各断片を交換していますので、のように見えるが起こるん。新しいものを作る前にすべての断片をクリアする方法はありますか?
私は、(いつものようにも置き換え使用して)同じ問題を取得していますが、私はサポートライブラリを使用しています。編集:それはあなたのようにも思われるが、あなたgetSupportFragmentManagerの代わりにgetFragmentManagerを呼び出すよ...あなたの問題かもしれない?私と同じように、それは再現できない非常に断続的な問題です。 – StackOverflowed
それは私の前のコメントを編集することはできませんでしたが、編集2:それが問題であれば、それが起こったことを見た1つのデバイスはSamsung Galaxy S4です。 – StackOverflowed
私は、この方法で 'solutionを削除する 'よりも優れたソリューションがあると思います。 'すべてのxmlファイル'に、背景色を定義する必要があります。 定義したビュータグに、このandroid:background = "@ android:color/black"を追加します。 –