2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

addToBackStackで戻ってきてもViewが表示されない・・・

Last updated at Posted at 2015-04-26

#addToBackStackで戻ってきてもViewが呼ばれない時の処理#

かれこれ4日間ほど悩んで

奇跡的に見つかった神サイトのおかげで解決

##現象

スクリーンショット 2015-04-26 18.32.23.png

こんな感じのレイアウト

MainActivityからViewpager + FragmentPagerAdapterのレイアウト移ると4つのFragmentを持つ

FragmentA -> Fragment A'に buttonで遷移して表示まではすぐできました。

ただ・・・バックボタンで戻るとFragmnetA, FragmentBが表示されない・・・

FragmentDのタブを押すと全部表示されるっていう意味不明な動きをしていました。

###試したこと##
1.recreateをonAttachで呼ぶ
 無限ループ笑 Genymotionがチカチカしてました。
2.containar.removeAllViews()をonViewCrate内で呼ぶ
  StackOverFlowにバックボタンで戻ったときに表示がされないときに呼んでみたら?ってかいてあったのでやってみると、MainActivityから画面遷移をした時点でViewが表示されない。

他にもいろいろ試してましたが忘れたので割愛w

#神サイト
http://wasnot.hatenablog.com/entry/2013/04/20/220534
↑に書いてある通りにすればいい笑

細かい話はなし笑 

細かい話は追記で書きますね(すいません)

でここを参考にonViewCreate内をいじる。

mViewPager.setAdapter(new TabPagerAdapter(getActivity().getSupportFragmentManager()));

TabPagerAdapter mTabPager = new TabPagerAdapter(getChildFragmentManger());
mViewPager.setAdapter(mTabPager);

に変更しすると出来た。

##そもそも論#
追記します。

今言えることは、Fragmentのライフサイクルやらの使い方とかAdapter自体の使い方が全くもってわかってなかったです。

勉強せねば・・・(^◇^;)

##参考サイト
http://y-anz-m.blogspot.jp/2012/03/androidfragmenttransaction_14.html

2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?