无法使用数组列表填充微调器?

Unable to populate spinner with array list?

我正在从共享首选项中获取值并将键值添加到数组列表中。我在共享首选项中保存了 3 个关键值,但只有其中一个值被添加到微调器中。我希望列表中的所有值都添加到微调器中。请帮助我是新来的,我确实遇到过其他类似的问题,但我找不到解决方案。

SharedPreferences mPrefs = getSharedPreferences("data", Context.MODE_PRIVATE);
    Map<String, ?> allEntries = mPrefs.getAll(); 
    allEntries.values().remove(false); // removing values that are "false"

˚

for (Map.Entry<String, ?> entry : allEntries.entrySet()) {

    languages = new ArrayList();

        languages.add(entry.getKey());



    }


    Spinner s = (Spinner) findViewById(R.id.spinner1);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_spinner_item, languages);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    s.setAdapter(adapter);

}

}

因为您每次都从ArrayList创建新实例

你应该像这样将它移到 for 循环之外。

languages = new ArrayList();

for (Map.Entry<String, ?> entry : allEntries.entrySet()) {
    languages.add(entry.getKey());
}