私のxmlにはいくつかのフラグメントがあります(そのうちの4つ)。このコードでアクティビティを初めて実行するとき:
private void loadSenderFragment(int sender_fragment) {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
// TODO: Animation for later
if (loadRunOnce) {
//ft.setCustomAnimations(R.anim.fade_in, R.anim.fade_out, R.anim.fade_in, R.anim.fade_out);
}
switch (sender_fragment) {
case FILES_TO_SEND_FRAGMENT:
Log.i(StaticValues.TAG, "files to send fragment visisble");
ft.hide(fragmentSendDev);
ft.show(fragmentFilesSend);
break;
case SEND_TO_FRAGMENT:
Log.i(StaticValues.TAG, "hiding filesSend, loading senddev");
ft.hide(fragmentFilesSend);
ft.show(fragmentSendDev);
break;
}
if (loadRunOnce)
ft.addToBackStack(null);
else {
ft.hide(fragmentReceiveWait);
ft.hide(fragmentReceiving);
loadRunOnce = true;
}
ft.commit();
}
適切なビュー (Files_to_send_fragment) が表示され、コールバックを介してそのフラグメントから再度 loadSenderFragment を呼び出しますが、今回は SEND_TO_FRAGMENT の場合を除きます。私のログのためにこれが呼び出されることを知っています。しかし、fragmentFilesSend のレイアウトは表示され続けますが、他のレイアウトは表示されません (現在、白い背景のページ)。私のコードと私の意図から理解していることから、filessendを非表示にしてsenddevを表示します。その非表示/表示が機能しない理由を知っている人はいますか?
ところで、私は互換性ライブラリを使用しています。(通常のAPI Honeycomb +ライブラリも試してみましたが、まだ何もありません)。