我想动态填充下拉列表。我会向服务器发出请求,从那里获取我的数据并根据我的数据(例如我会采取一些ID)我想使列表更大/更小。我在developer.android上找到的示例是静态的,因为列表中的名称是在strings.xml中写的
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="planet_prompt">Choose a planet</string>
<string-array name="planets_array">
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>
<item>Mars</item>
<item>Jupiter</item>
<item>Saturn</item>
<item>Uranus</item>
<item>Neptune</item>
</string-array>
</resources>
完整代码here。
答案 0 :(得分:11)
ArrayList<String> options=new ArrayList<String>();
options.add("option 1");
options.add("option 2");
options.add("option 3");
// use default spinner item to show options in spinner
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,options);
mSpinner.setAdapter(adapter);
您还可以使用以下方式设置要选择的特定项目:
mSpinner.setSelection(options.indexOf("option 2"));
编辑:
您还可以使用自定义xml文件来显示微调项目,例如 -
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.custom_spinner_item,options);
答案 1 :(得分:0)
我建议你创建一个响应所有对象/字符串的 ArrayList ,并创建一个具有相同ArrayList的适配器。一旦有了适配器,就可以轻松地在Spinner中进行设置。