3 つのタブを持つアプリを作成しました。各タブには、データ ソースが異なる同じリスト ビューがあります。タブホスト アクティビティで SharedPreferences をセットアップしましたが、onSharedPreferenceChangeListener メソッドをリスト アクティビティに配置しました。設定を変更すると、リスナーが呼び出され、データベースが更新されます。これはすべて機能しています。ただし、タブ 1 のデータを変更すると、リスナーが 1 回呼び出されます。タブ 2 のデータを変更すると 2 回呼び出され、タブ 3 のデータを変更すると 3 回呼び出されます。なぜこのように機能するのか考えていますか?リストアクティビティで共有設定をセットアップでき、それで問題を回避できると思いますが、別のタブにある場合にリスナーが複数回呼び出されるのはなぜですか。
ブロッコリー