2016-07-19 4 views
0

このメソッドやFragmentsに大きな変更はありますか?Androidバージョン22〜23のgetSupportFragment()。getFragments()の変更

    を次のように私は私のアダプタからのフラグメントのリストを持っている

    getSupportFragmentManager().getFragments()

    私は、私が使用して活動にフラグメントのリストを取得していますここで、この問題が発生しています

  • Fragment A
  • Fragment B

今私はgetFragments()方法からもらったリストを使用して、私は、フラグメントAのための0をそのインデックスを使用して、これらのフラグメントのそれぞれを取得することができ、その後、フラグメントBの1

コードは、しかし、バージョン22のために正常に動作し、とき私はバージョン23に更新され、順序が突然逆転します。

インデックス0を使用して、フラグメントBを取得していて、インデックス1を使用していますが、代わりにフラグメントAを取得しています。そして、それは私のコードを台無しにしています。

これはなぜ起こっているのでしょうか?

実際にこれを引き起こしているバージョンの更新であるかどうかはわかりません。私はこれが私のバージョン23のコードにあるときにのみ起こるので、私はちょうど仮定しています。

答えて

0

マニュアルには変更の内容は記載されていません。以下は、ドキュメントに記載されているものです

フラグメントマネージャに追加されたすべてのフラグメントのリストを取得します。

これがすべてです。 Fragmentが返される順序については言及していません。しかし、注文に影響を与える何か他のものがあるはずです。私はあなたがそれの源を調べなければならないのではないかと心配しています。

ドキュメントでは注文に関することについて全く言及していないので、変更があっても手伝ってもらえないと思います。

+0

いいえです。なぜそれが起こったのか理解したい。私はフラグメントをフェッチしているときにフラグメントリストの順序を逆転させるパッチを作ることができますが、リストや他のパターンを本当に逆転するかどうかはわかりません。しかし、チップのおかげで、私はちょうどソースコード自体を調べるだろうと思う。 – kishidp

+0

@kishidpリストを逆順にしてインデックスで取得することは本当にお勧めしません。あなたは堅牢な方法でフラグメントを特定できるはずです。そうしないと、 'NullPointerException'で終わるでしょう。 – vyastech

関連する問題