簡體   English   中英

如何跟蹤有關Android中片段的信息

[英]How to keep track of information regarding fragments in Android

我有一個類似於測試的片段。 如果此測試通過,失敗或未決定,則用戶可以從微調器菜單中進行選擇。 用戶離開此片段,然后稍后再返回時,我希望微調器菜單顯示用戶先前選擇的內容。

誰能告訴我如何跟蹤此信息? 我是Java和Android編程的初學者。 另外,請告知是否需要進一步說明。

這可能取決於您希望能夠引用這些測試的范圍。例如,您是否希望在用戶關閉應用程序后清空這些片段?

如果只是在應用程序“會話”中,您可以在片段中創建一個對象,然后重寫onResume方法以使用適當的數據填充微調器。

如果您想在應用關閉后保存信息,有兩種選擇。 對於較小的數據集,可以使用共享首選項

如果您不確定“測試”的數量,我建議您將所需的任何數據保存到文件中,並進行解析以填充片段中的字段

對此進行了解,以了解如何保存數據: http : //developer.android.com/intl/es/training/basics/data-storage/files.html

我所做的事情與您的工作相似。 我使用共享首選項來保存字符串,如下所示

將您從微調器獲得的字符串保存在片段中

SharedPreferences mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
SharedPreferences.Editor mSharedPreferencesEditor = mSharedPreferences.edit();

mSharedPreferencesEditor.putString("my_unique_key", myString);

// commit changes
mSharedPreferencesEditor.apply();

切記在進行更改后始終應用更改,並且只要每個字符串都有唯一的密鑰,就可以保存任意數量的字符串。

然后只是獲取值

SharedPreferences mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(getActivity());
String myStringValue = mSharedPreferences.getString("my_unique_key", null);

如果找不到任何具有該唯一鍵的數據,則將返回第二個參數(空)。 (即,如果您尚未保存)

您也可以像這樣使用其他字符串代替null

String myStringValue = mSharedPreferences.getString("my_unique_key", "could not find value");

或者,如果您想將一堆數據捆綁在一起,例如創建一個對象以保存一堆字符串,然后將該對象保存到文件中,我可以告訴您,如果您想

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM