Android动态填充下拉列表

Teo*_*Teo 3 android drop-down-menu

我想动态填充下拉列表.我会向服务器发出请求,从那里获取我的数据并根据我的数据(例如我会采取一些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>
Run Code Online (Sandbox Code Playgroud)

完整代码在这里.

Hir*_*ral 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);
Run Code Online (Sandbox Code Playgroud)

您还可以使用以下方法设置要选择的特定项目:

mSpinner.setSelection(options.indexOf("option 2"));
Run Code Online (Sandbox Code Playgroud)

编辑:

您还可以使用自定义xml文件来显示微调项目,如 -

ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.custom_spinner_item,options);
Run Code Online (Sandbox Code Playgroud)