把HashMap <整数,列表<integer =“”>&gt; in savedInstanceState </integer,>

时间:2015-04-13 12:15:03

标签: android android-fragments hashmap android-savedstate

我在Android中的savedInstanceState中放置值有问题。我试图在互联网上找到解决方案,但我没有什么需要。也许有人知道哪里有问题。我需要把HashMap&gt;到savedInstanceState,并检索onCreate方法。有没有人有像这样的问题,谁知道我怎么能解决这个问题。 谢谢你的时间。

2 个答案:

答案 0 :(得分:7)

您可以使用putSerializable。 E.g。

savedInstanceState.putSerializable("KEY", hashMapInstance);

答案 1 :(得分: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");
    }