FC2ブログ

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[Android]AppCompatActivityを使用するとFragmentのBackStackが上手く動かない

「Android Support Library 22.1」から、ActionBarActivityが非推奨になってしまって、
代替方法としてAppCompatActivityを使用することが推奨されました。

■Developerリファレンス
https://developer.android.com/reference/android/support/v7/app/ActionBarActivity.html
-----
This class is deprecated.
Use AppCompatActivity instead.
-------

■「Android Support Library 22.1」更新内容
http://android-developers.blogspot.jp/2015/04/android-support-library-221.html


そこで、AppCompatActivity を使用してみたのですが、動作に問題が・・・
FragmentsをBackStackに追加していても何故かバックキー押下時にStackから取り出されない。。。

調べてみたら、同じ問題にあたっている人がいた。
http://stackoverflow.com/questions/29787250/fragment-back-stack-does-not-work-when-extending-appcompatactivity


バックキーのイベントをフックして、自前でBackStackからpopすることで問題回避ができるようだ。


@Override
public void onBackPressed() {
if (getFragmentManager().getBackStackEntryCount() > 0) {
getFragmentManager().popBackStack();
} else {
super.onBackPressed();
}
}


これで期待通りのバックキー押下でstackから取り出されてFragmentを戻すことができた。


コメントの投稿

非公開コメント

プロフィール

hiiro

Author:hiiro

最新記事
カテゴリ
月別アーカイブ
最新コメント
最新トラックバック
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
Counter
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。