Imagebuttonを使用して現在のフラグメントを閉じようとしました。
私はFragment-Aにいます。ボタンをクリックすると、Fragment-Bに変わります。
そして、Fragment-Bのボタンをクリックすると、Fragment-Cに変わり、Fragment-Bが閉じます。
Fragment-Cの戻るボタンをクリックすると、Fragment-Aに戻ります。
私が試したコードは次のようなものです
camera_album = (ImageButton) view.findViewById(R.id.camera_album);
camera_album.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
closefragment();
Fragment fragment = FileBrowserFragment.newInstance(null, null, null) ;
MainActivity.addFragment(LocalFileBrowserFragment.this, fragment) ;
}
});
private void closefragment() {
getActivity().getFragmentManager().beginTransaction().remove(this).commit();
}
フラグメントBの戻るボタンをクリックすると、フラグメントCに変わります。
しかし、Fragment-Cの[戻る]ボタンをクリックしても、Fragment-Aに戻りません。空の背景に戻ります。Fragment-Aに戻りたい場合は、もう一度[戻る]ボタンをクリックする必要があります。
だから、現在のフラグメントを完全に閉じていないようです。
Androidの戻るボタンのように現在のフラグメントを終了するにはどうすればよいですか?
MainActivity.addFragment(LocalFileBrowserFragment.this, fragment)
ですか??。フラグメントをバックスタックに追加し、それに応じて同じものをポップする必要があります