私はActivity
を持っていて、ListView
には簡略TextViews
を含む断片があります。メニュー項目は、インテントを通じて別のActivity
をトリガーすることができます。新しいActivity
はListView
のArrayAdapter
の下にあるArrayList
をArrayList.clear()
で消去します。Android ListView.getChildCount()より大きいgetCount()
I ListView
と私の元に新しいActivity
からバックアップ、およびonResume()
で制御を取得するには、私は私のListView.getChildCount()
は、それが原因テントに残っていたときと同じですが、ListView.getCount()
が正常になりましゼロであることを見つけます!
私はアダプターのclear()
メソッドを試してみましたが、私はAdapter.notifyDataSetChanged()
を試しました(私はそうするべきではありませんが)。
フラグメント自体の内部から基礎となるArrayList
を変更すると、すべて問題なく動作します。たとえば、要素をクリックすると、要素を削除したり、上または下に移動したりすることができます。これは正常に動作します。
また、リストActivity
を残してもう一度戻っても、すべて正常です。したがって、ArrayListは同じリストです。私は決して新しいリストを作成しません。 clear()
です。
子カウントが基本要素数を上回る可能性はありますか? Activity
が一時停止されているため、おそらくArrayList
の何らかのオブザーバがトリガされませんか?どのようにすれば、どうすればそれらを再び同期させることができますか?私は例えばinvalidate()
を試しました。
これはAPI23の下にあります。