我將從解析XML獲得的字符串存儲在ArrayList中。有許多這樣的數組列表。如何使這些ArrayLists對應用程序中的所有活動可用,以便我不需要使用意圖將數組傳遞給活動。使得在一個活動中獲得的數據可用於所有活動
2
A
回答
0
在Android Application Framework FAQ中有很多方法可以做到這一點。
0
擁有'許多'列表並使它們變爲靜態並不是非常有效。您可以使用我認爲更高效的內容提供者。
0
您最好定義一個在活動之間傳遞數據的處理程序。
使用的一個很好的解釋是這個StackOverflow的發佈
How to access original activity's views from spawned background service
和Android開發人員編寫了這裏
http://developer.android.com/reference/android/os/Handler.html
您將定義您與主線程的處理程序ArrayLists您想使可用。
1
擴展應用程序並讓它保存您的數據。然後在你的意圖你
((MyApplication)getApplication()).getData();
1
避免使static
變量。它快速而無痛,但真正快速變得凌亂。
入住這早些時候question
2
我不認爲一個靜態字段是你想要的這裏。你沒有提到這個xml來自哪裏,但我假設你的意思是一個在你的應用程序中包含的xml文件中指定的字符串數組。在這種情況下,您需要獲取Resources對象的句柄,爲此您需要一個Context。
應用程序對象始終圍繞並可從您的所有活動訪問。我會在這裏創建並存儲這些全局ArrayLists。因爲它聽起來像你有一堆,所以你可以在你的Application類中有一個MapLayer和一個函數,它取得你想要的ArrayList的名字,並從Map中返回適當的ArrayList。
public class MyApp extends Application {
private Map<String, ArrayList<String>> mLists=new HashMap<String, ArrayList<String>>();
public void addList(String key, ArrayList<String> list) {
mLists.put(key,list);
}
public ArrayList<String> getList(String key) {
return mLists.get(key);
}
}
相關問題
- 1. Azure的活動目錄獲得所有用戶 - (可能死鎖)
- 2. 從第一個活動的EditText上獲得多個數據次活動的TextView中使用SharedPreferences
- 3. 在非活動獲得SharedPreferences
- 4. 使用IME獲得活動的文本視圖或活動android
- 5. 第一次活動從第五次活動中獲得響應
- 6. 如何獲得在ASP.NET MVC所有活動參數(2)
- 7. 如何使用SuiteTalk API獲得所有促銷活動?
- 8. 無法獲得手動活動的所有者和執行者
- 9. 所有活動的活動
- 10. MySQL的獲得沒有活動
- 11. 如何在活動組中獲得兒童活動?
- 12. 偏好活動在其他活動中獲得布爾值
- 13. 我如何獲得活動?
- 14. 獲得從片段活動
- 15. Android獲得wifi活動
- 16. 獲得活動標籤
- 17. Zxing:活動獲得結果
- 18. 獲得第一個活動的字符串值和第二個活動到第三個活動,我在onPost中獲得對話中的列表視圖執行
- 19. 獲得使用界面從一個活動值的Android
- 20. 得到一個CheckBoxPreference價值在活動
- 21. 如何獲得其他活動中片段活動的功能
- 22. 如何獲得magento中的活動屬性活動選項?
- 23. 多個活動:意圖和sharedpreferences不適用於所有活動
- 24. 在我的活動中獲得空數據
- 25. 如何在gtk3中獲得一個活動的gtk窗口?
- 26. 獲得一些其他活動
- 27. 如何獲得調用BroadcastReceiver的活動?
- 28. 獲得和其他活動中的Android
- 29. 數據如何存儲在一個活動中,然後用於其他活動?
- 30. 如何在主活動之前獲得登錄活動