Android-Java HashMap键集突然返回null
我有两种方法: 第一个迭代HashMap mWidgetStartConfig以设置片段中微调器小部件的值。此方法始终在onResume中调用 第二个方法实现OnItemSelectedListener的onItemSelectedcallback方法,并根据选择的微调器项更新另一个HashMap mWidgetCurrentConfig中的值 方法如下: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
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,这对第一个方法也有一定的影响。