刷新Spinner的当前项

时间:2015-03-12 20:24:11

标签: java android

考虑以下组合列表

comboList = new Spinner(this);
list_arr = new ArrayList<String>();

ArrayList填充了来自SharedPreferences的字符串,Spinner以这种方式填充

ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
        android.R.layout.simple_spinner_item, list_arr);
comboList.setAdapter(dataAdapter);

然后在事件OnClickListener()

的情况下更新
                list_arr.clear();
                ArrayList<String> res = getMyLists();
                for (int i = 0; i < res.size(); i++) {
                    list_arr.add(res.get(i));
                }

如何以编程方式刷新已选择的项目? 从GUI中,我必须从列表中手动选择另一个值,然后将其更改回来。

这可能是另一个question的副本,但它已经很老了,没有答案。

2 个答案:

答案 0 :(得分:0)

您可能需要致电dataAdapter.notifyDataSetChanged();

答案 1 :(得分:0)

在这种情况下,您需要重新创建微调器的适配器:

list_arr.clear();

ArrayList<String> res = getMyLists();
for (int i = 0; i < res.size(); i++) {
 list_arr.add(res.get(i));
}

dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list_arr);
comboList.setAdapter(dataAdapter);