Android 从字符串数组填充微调器

Android 从字符串数组填充微调器,android,android-spinner,Android,Android Spinner,我对这个很陌生,我有一个问题可能很简单 我有3个微调器,我想根据用户对以前的微调器所做的选择,从一个数组中填充每个微调器 现在,我已经将其设置为显示包含所选数据的toast,但我想设置一个要打开的活动,但那是以后的事了。现在我需要知道如何从strings.xml中的数组填充微调器 .爪哇 import java.util.ArrayList; 导入java.util.List; 导入android.os.Bundle; 导入android.app.Activity; 导入android.view

我对这个很陌生,我有一个问题可能很简单

我有3个微调器,我想根据用户对以前的微调器所做的选择,从一个数组中填充每个微调器

现在,我已经将其设置为显示包含所选数据的toast,但我想设置一个要打开的活动,但那是以后的事了。现在我需要知道如何从strings.xml中的数组填充微调器

.爪哇

import java.util.ArrayList;
导入java.util.List;
导入android.os.Bundle;
导入android.app.Activity;
导入android.view.Menu;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.AdapterView.OnItemSelectedListener;
导入android.widget.ArrayAdapter;
导入android.widget.Spinner;
导入android.widget.Toast;
/**
*@作者麦当克
*
*/
公共课区域扩展活动{
Spinner sp1、sp2、sp3;
ArrayaAdapter reg_adp、sw_city_adp、sw_lake_charles_adp;
列出地区、西南城市、西南湖泊;
int pos;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_区域);
regions=newarraylist();
地区。添加(“选择地区”);
地区。添加(“西南”);
sp1=(微调器)findViewById(R.id.regions\u微调器);
sp2=(微调器)findViewById(R.id.sw\u city\u微调器);
sp3=(微调器)findViewById(R.id.sw_lake_charles_微调器);
reg_adp=new ArrayAdapter(这是android.R.layout.simple下拉菜单项行区域);
reg_adp.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
设置适配器(reg_adp);
setOnItemSelectedListener(新的OnItemSelectedListener(){
已选择公共视图(AdapterView arg0、视图arg1、,
整数arg2,长arg3){
//TODO自动生成的方法存根
pos=arg2;
添加();
}
私有void add(){
//TODO自动生成的方法存根
Toast.makeText(getBaseContext(),“”+pos,Toast.LENGTH_SHORT).show();
开关(pos)
{
案例0:
sw_cities=新阵列列表();
西南城市。添加(“选择城市”);
sw_city_adp=新阵列适配器(地区、本、,
android.R.layout.simple_下拉菜单(项目线、西南城市);
sw_city_adp.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
sp2.setAdapter(西南城市adp);
选择();
打破
案例1:
sw_cities=新阵列列表();
西南城市。添加(“选择城市”);
西南城市。添加(“查尔斯湖”);
西南城市添加(“爱荷华州”);
西南城市。添加(“亚瑟湖”);
sw_city_adp=新阵列适配器(地区、本、,
android.R.layout.simple_下拉菜单(项目线、西南城市);
sw_city_adp.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
sp2.setAdapter(西南城市adp);
选择();
打破
}
}
私有void select(){
//TODO自动生成的方法存根
setOnItemSelectedListener(新的OnItemSelectedListener(){
公共区域或选定区域(适配器视图arg0、视图arg1、,
整数arg2,长arg3){
//TODO自动生成的方法存根
}
未选择公共无效(AdapterView arg0){
//TODO自动生成的方法存根
}
已选择公共视图(AdapterView arg0、视图arg1、,
整数arg2,长arg3){
//TODO自动生成的方法存根
}
无选择区域的公共无效(AdapterView arg0){
//TODO自动生成的方法存根
}
});
}
未选定城市的公共无效(AdapterView arg0){
//TODO自动生成的方法存根
}
未选择公共无效(AdapterView arg0){
//TODO自动生成的方法存根
}
});
}
stings.xml

<resources>

    <string name="app_name">Louisiana Festivals</string>
    <string name="menu_settings">Settings</string>
    <string name="title_activity_region">Select a Region</string>
    <string-array name="regions_array">
        <item >Southwest</item>
    </string-array>
        <string name="select_a_region">Select a Region</string>
    <string-array name="southwest_cities">
        <item >Lake Charles</item>
        <item >Iowa</item>
    </string-array>
    <string name="sw_select_a_city">Select a City</string>
    <string-array name="lake_charles">
        <item>Contraband days Pirate Festival</item>
        <item>Other festival to be determined</item>
    </string-array>

</resources>

路易斯安那节日
设置
选择一个区域
西南
选择一个区域
查尔斯湖
爱荷华州
选择一个城市
走私日海盗节
其他节日待定

您可以使用从strings.xml获取字符串数组。因此,您需要的代码片段是:

String[] regionsArray = getResources().getStringArray(R.array.regions_array);
regions = new ArrayList<String>(Arrays.asList(regionsArray));
String[]regionsArray=getResources().getStringArray(R.array.regions\u数组);
regions=newarraylist(Arrays.asList(regionsArray));

现在,无论您在
regions\u array
中输入什么,都将在regions
ArrayList

中结束。您知道如何使第二个微调器在第一个微调器上进行选择之前不可用,依此类推?或者这应该是另一个问题吗?这是getResources。局部变量吗?我会让您的第一个注释成为另一个任务ion.至于getResources(),这是一个函数调用,不是变量。对不起,我弄错了。所以它必须是getResources()。谢谢你,在谷歌搜索了一下后我找到了它。然后我妻子让我去看《美国团圆》……我会接受你的答案!我很高兴你能找到答案
String[] regionsArray = getResources().getStringArray(R.array.regions_array);
regions = new ArrayList<String>(Arrays.asList(regionsArray));