1
我想弄清楚如何使用getAll()方法從應用程序的SharedPreferences中設置每個字符串和鍵名,以便我可以使用這些值來命名填充按鈕並將這些按鈕分配給訪問sharedpreferences中正確的字符串在textview中顯示。從SharedPreference getAll()方法收集所有字符串?
問題是我不知道如何將這些值保存到一個字符串或字符串數組,因爲我從來沒有處理過地圖。
如果有人能夠幫助我將我的SharedPreferences鍵和字符串值存儲到一個字符串數組中,以便在我的片段中使用,那將是值得讚賞的。
這是我到目前爲止有:
String[] arrayToStoreStrings;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
SharedPreferences sp = (SharedPreferences) MadlibsSaved.this.getActivity();
Map<String,?> keys = sp.getAll();
for(Map.Entry<String,?> entry : keys.entrySet()){
Log.d("map values",entry.getKey() + ": " +
entry.getValue().toString());
}
有更多的精力更新,但仍然得到錯誤:
BootstrapButton[] loadButtons;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
SharedPreferences sp = null;
Map<String,?> keys = sp.MadlibsSaved.this.getActivity().getAll();
for(Map.Entry<String,?> entry : keys.entrySet()){
Log.d("map values",entry.getKey() + ": " +
entry.getValue().toString());
while(!(values[i].matches(null))){
values[i] = entry.getValue().toString();
i++;
}
while(!(key[i].matches(null))){
key[i] = entry.getKey().toString();
i++;
}
}
loadButtons = new BootstrapButton[20];
loadButtons[0] = new BootstrapButton(getActivity());
loadButtons[0].setText(values[i]);
謝謝!好東西! – sanic