4

savedInstanceState在 Android 中添加值时遇到问题。我试图在互联网上找到解决方案,但我似乎找不到解决方案。也许你们中的一些人可能知道问题出在哪里。我需要将 HashMap> 放入savedInstanceState,并检索该 onCreate 方法。有没有人遇到并解决了这个问题?感谢您的时间。

4

2 回答 2

9

你可以使用putSerializable。例如

savedInstanceState.putSerializable("KEY", hashMapInstance);
于 2015-04-13T12:17:27.117 回答
0

尝试 :

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");
    }
于 2020-09-03T05:54:59.937 回答