Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-Java HashMap键集突然返回null_Java_Android_Hashmap_Android Spinner - Fatal编程技术网

Android-Java HashMap键集突然返回null

Android-Java HashMap键集突然返回null,java,android,hashmap,android-spinner,Java,Android,Hashmap,Android Spinner,我有两种方法: 第一个迭代HashMap mWidgetStartConfig以设置片段中微调器小部件的值。此方法始终在onResume中调用 第二个方法实现OnItemSelectedListener的onItemSelectedcallback方法,并根据选择的微调器项更新另一个HashMap mWidgetCurrentConfig中的值 方法如下: protected void configureWidgets() { for(String tag : mWidgetStartC

我有两种方法: 第一个迭代HashMap mWidgetStartConfig以设置片段中微调器小部件的值。此方法始终在onResume中调用

第二个方法实现OnItemSelectedListener的onItemSelectedcallback方法,并根据选择的微调器项更新另一个HashMap mWidgetCurrentConfig中的值

方法如下:

protected void configureWidgets() {
    for(String tag : mWidgetStartConfig.keySet()) {
        int valueIndex = mSpinnerValues.indexOf(mWidgetStartConfig.get(tag));
        ((Spinner) mLayout.findViewWithTag(tag)).setSelection(valueIndex);
    }
}

public void onItemSelected(AdapterView<?> parent, View v, int pos, long id) {
    String tag = (String) v.getTag();
    String value = (String) parent.getItemAtPosition(pos);
    mWidgetCurrentConfig.put(tag, value);
}
奇怪的是,只要我在第二种方法中不做任何事情,第一种方法就行了,即注释掉身体。一旦我在第二个方法中做了一些事情,当第二次调用它时,我在第一个方法中得到一个NullPointerException,字符串标记为null。第一次调用在某种程度上工作正常

我真的不明白为什么会发生这种情况,因为在第二种方法中我根本不访问或更改mWidgetStartConfig变量。我还尝试了不同的方法来迭代HashMap-相同的结果


任何帮助都将不胜感激

原因是,我调用了v.getTag而不是parent.getTag,这对第一个方法也有一定的影响。