2011-09-17 16 views
7

私は2つの活動を持っています。です。アクティビティにはフォームがあり、[送信]ボタンをクリックするとフォームデータが共有設定に保存されます。アクティビティBは、アクティビティAによって保存された共有プリファレンスからデータを取得する必要があります。私は非常に多くのフォーラムに行き、getPreference(Mode)の代わりにgetSharedPreference(Filename,Mode)を使用するように提案しました。しかしそれでも動作しません。公共の使用のために共有の嗜好値を抽出するために、特にのクラスを作成する代わりに、この仕事を行う他の方法はありますか?アンドロイドのアクティビティ間で共有設定にアクセスするにはどうすればよいですか?

これには完璧な解決策を提案してください。私はWORLD_READABLEとしてモードを使用しました。

+0

あなたのSharedPreferencesを保存しているコードを投稿してください。 –

+0

ここに私のコードを確認してください - http://pastebin.com/0W64gnEt。自分の問題をコメントとして書いたコードで、 "XYZ12345"という単語を検索してください。私は解決策を得る義務があります。ありがとう –

答えて

3

私は問題は、編集者があなたのSharedPreferencesをどのように開いているかによって実際に変更をコミットしていないということです。

SharedPreferences.Editor editor = getSharedPreferences("udata",MODE_WORLD_READABLE).edit(); 

変更Context.MODE_PRIVATEMODE_WORLD_READABLE、それが助けかどうかを確認します。

+0

servState = 1; editor.putInt( "AppState"、servState); editor.commit();私は上記のコードの変更をコミットしました。当初はMODE_PRIVATEのみを使用していましたが、動作しなかったのでMODE_WORLD_READABLEモードを使用しました。他の提案をお願いします –

+0

コミットコードをデバッグし、mPwd.getText()。toString()がnullを返さないようにし、コミットが機能していることを確認してください。 –

+0

私は同じ問題を抱えています。なぜなら、onresume()が "pref.getBoolean(Constant.PREF_KEY、true)"またはstartactivity(...)を呼び出したときにアクティビティを開始するときです。 finish(); – vuhung3990

0

初期化の問題がありました。今私は解決策を得ました。あなたのご協力ありがとうございます

関連する問題