1

ArrayList<HashMap<String, String>>アイテムを保管して、アクティビティ全体でアクセスできるようにするための最良の方法を見つけようとしています. あるアクティビティでは、一連のHashMap<String, String>項目を ArrayList に追加することで、それを保存します。

別のアクティビティでこれにアクセスするにはどうすればよいですか? SharedPreferences を試しましたが、私の知る限り、文字列としてのみ保存されます。助言がありますか?

編集:タグ、値の形式でHashMapにXMLを保存しています

4

3 に答える 3

2

これにアプリケーションクラスを使用しないのはなぜですか? そうすれば、そこにデータ構造を配置でき、その情報をアクティビティ間で共有できます。アプリケーションは破棄される可能性があることに注意してください。アプリケーションに保持するということは、共有設定に保存するか、永続的に保持したい場合はディスクに書き込む必要があることを意味します。

于 2012-06-15T14:56:59.353 に答える
1

最も簡単な方法は、次のように、別のクラスを作成して静的変数を設定することです。

http://www.glenmccl.com/tip_002.htm

このようにして、アクティビティ全体で必要に応じて値を取得および設定する静的メソッドを作成できます。

ただし、これはApplication*を拡張する新しいクラスを作成するほど安全ではないと主張する人もいます。これを行う場合は、AndroidManifest.xmlファイルにも拡張機能を登録する必要があります。

于 2012-06-15T14:48:46.907 に答える
1

別のアクティビティでこれにアクセスするにはどうすればよいですか?

最初の道

  • 最初のアクティビティで public static にし、他のアクティビティでアクセスします。

第二の道

xmlをダウンロードしてデータを設定する場合は、Bean Concept.

于 2012-06-15T14:46:15.873 に答える