キーワード、フィルター、検索ボタン用の 1 つのタブと、さまざまな種類の結果用の 3 つのオプション タブ (それぞれに と を含む) を持つ検索画面を作成しましListView
たArrayAdapter
。アクティビティの開始時にParcelable[]
、検索がすでに実行されている場合、開発者は必要に応じて結果を追加で渡すことができます。このonCreate()
メソッドでは、パススルー用の 3 つのタブをそれぞれ作成していParcelable[]
ます。
フィルター タブのボタンから検索を呼び出すと、タブをクリアし、新しい結果でそれらを再作成します。これは完全に機能します。問題は、デバイスを回転させると、Android の自動方向切り替えサポートがアクティビティ全体を再作成し、 を呼び出しているように見えることonCreate()
です。これはParcelable[]
、アクティビティの開始時に検索結果がパススルーにリセットされることを意味します。
私がこれまでに持っていた唯一の解決策は、新しい結果でアクティビティを本質的に再開するために呼び出すfinish()
ことstartActivity()
です。もっと簡単な解決策が必要であり、私は非常に愚かなことをしたと確信しています。
これを行うより良い方法はありますか?