2016-06-13 65 views
-2

我的主要活動中有一些主要變量,我在用戶登錄後從互聯網上檢索它們的值。之後,有多個活動可以更改數據庫中的這些值, t反映當前加載的值,直到用戶註銷/進入。 (我從互聯網檢索數據的過程)設置來自不同活動的活動變量

什麼是直接從活動2更新主活動中的這些值而不登出/進入的最佳方式?

有沒有一種方法來設置這些變量而無需制定意圖並將新值放入額外的捆綁包中? (我需要更改數值而不返回活動)

+3

您可以使用'SharedPreference' –

+0

您可以將值傳遞給Intent包和startActivityForResult。一旦獲得活動結果回調,您可以更新該值是否已更改爲 – Nikola

+0

。謝謝。我怎樣才能改變一個特定的變量值,把新的值與相同的密鑰?是否會刪除舊值? –

回答

1

您也許可以嘗試將自定義Application類中的變量作爲靜態成員放置,然後通過Application.xyzStaticMember()從任意位置訪問它們。這裏有一個例子:

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; 
    } 
} 

然後訪問成員:MyTestApp.setList(null);MyTestApp.getList();。噢,別忘了使用AndroidManifest.xml文件中的課程!

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

謝謝,我會試試這個。它會適用我猜。 –