将 HashMap<Integer, List<Integer>> 放入 savedInstanceState
Put HashMap<Integer, List<Integer>> in savedInstanceState
我在 Android 的 savedInstanceState
中添加值时遇到问题。我试图在互联网上找到解决方案,但我似乎无法找到解决方案。也许你们中的一些人可能知道问题出在哪里。我需要将 HashMap> 放入 savedInstanceState
,并检索该 onCreate 方法。有没有人遇到并解决了这个问题?
谢谢你的时间。
您可以使用 putSerializable。例如
savedInstanceState.putSerializable("KEY", hashMapInstance);
尝试:
private HashMap<String, String> savedInstanceMap = new HashMap<>();
@Override
public void onSaveInstanceState(@NonNull Bundle outState) {
savedInstanceMap.put("selectedFuel_type_Id", selectedFuel_type_Id);
outState.putSerializable("savedBundle", savedInstanceMap);
super.onSaveInstanceState(outState);
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
savedInstanceMap = (HashMap<String, String>) savedInstanceState.getSerializable("savedBundle");
selectedFuel_type_Id = savedInstanceMap.get("selectedFuel_type_Id");
}
我在 Android 的 savedInstanceState
中添加值时遇到问题。我试图在互联网上找到解决方案,但我似乎无法找到解决方案。也许你们中的一些人可能知道问题出在哪里。我需要将 HashMap> 放入 savedInstanceState
,并检索该 onCreate 方法。有没有人遇到并解决了这个问题?
谢谢你的时间。
您可以使用 putSerializable。例如
savedInstanceState.putSerializable("KEY", hashMapInstance);
尝试:
private HashMap<String, String> savedInstanceMap = new HashMap<>();
@Override
public void onSaveInstanceState(@NonNull Bundle outState) {
savedInstanceMap.put("selectedFuel_type_Id", selectedFuel_type_Id);
outState.putSerializable("savedBundle", savedInstanceMap);
super.onSaveInstanceState(outState);
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
savedInstanceMap = (HashMap<String, String>) savedInstanceState.getSerializable("savedBundle");
selectedFuel_type_Id = savedInstanceMap.get("selectedFuel_type_Id");
}