2016-06-13 15 views
-2

私の主なアクティビティには、ユーザーがログインした後にインターネットから値を取得するいくつかの主要な変数があります。その後、これらの値をデータベースで変更できる複数のアクティビティがありますが、ユーザーがログアウトするまで現在のロードされた値に反映されません。 (インターネットからデータを取得するプロセス)別のアクティビティからアクティビティ変数を設定する

メインアクティビティでこれらの値をアクティビティ2から直接ログアウトすることなく更新するにはどうすればよいですか?

これらの変数を意図せずに設定し、新しい値を余分なバンドルに入れる方法はありますか?

+3

あなたはあなたが意図バンドルとstartActivityForResultに値を渡すことができ –

+0

'SharedPreference'を使用することができます。アクティビティの結果コールバックを取得したら、値が – Nikola

+0

に変更された場合に更新できます。ありがとう。特定の変数の値を変更するにはどうすればいいですか?同じキーで新しい値を入力しますか?それは古い価値を取り除くでしょうか? –

答えて

1

あなたはおそらく、静的メンバーとしてカスタムApplicationクラスに変数を入れてみてください、その後Application.xyzStaticMember()を通じてどこからでもアクセスすることができます(私は戻って活動に戻らずに値を変更する必要があります)。ここでは例です:MyTestApp.setList(null);またはMyTestApp.getList();

public class MyTestApp extends Application { 
    private static List<Int> testList; 
    public static void setList(List<Int> l) { 
     testList = l; 
    } 
    public static List<Int> getList() { 
     return testList; 
    } 
} 

はその後メンバーにアクセスします。ああ、AndroidManifest.xmlファイルでクラスを使用することを忘れないでください!

<application android:name="com.example.MyTestApp" 
/* ...more stuffs */ /> 
+0

ありがとう、私はこれを試してみます。私は当てはまるでしょう。 –

関連する問題