Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android微调器值和文本_Android_Spinner - Fatal编程技术网

Android微调器值和文本

Android微调器值和文本,android,spinner,Android,Spinner,你好,我有关于android spinner的问题 我有一个微调器,由数组填充。数组是每行的国家名称和国家电话号码 阵列的一部分 <item>355 Albania</item> <item>213 Algeria</item> <item>376 Andorra</item> <item>244 Angola</item> <item>1264 Anguilla</ite

你好,我有关于android spinner的问题

我有一个微调器,由数组填充。数组是每行的国家名称和国家电话号码

阵列的一部分

<item>355  Albania</item>
<item>213  Algeria</item>
<item>376  Andorra</item>
<item>244  Angola</item>
<item>1264  Anguilla</item>
<item>1268  Antigua and Barbuda</item>
<item>54  Argentina</item>
355阿尔巴尼亚
213阿尔及利亚
376安道尔
244安哥拉
1264安圭拉
1268安提瓜和巴布达
54阿根廷
这是我用来填充微调器的java代码

final Spinner spnCountry = (Spinner) findViewById(R.id.countries);
ArrayAdapter<CharSequence> adpCountry = ArrayAdapter.createFromResource(
        this, R.array.countries, android.R.layout.simple_spinner_item);
adpCountry
    .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnCountry.setAdapter(adpCountry);
final Spinner spncontry=(Spinner)findViewById(R.id.countries);
ArrayAdapter adpCountry=ArrayAdapter.createFromResource(
这个,R.array.countries,android.R.layout.simple\u微调器\u项);
ADP国家
.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
SPConCountry.setAdapter(adpCountry);
我只想在框上显示国家代码,当微调器打开时,在每行显示国家名称和代码

有人能帮我怎么做吗?

加载旋转器

String[] countries = getResources().getStringArray(R.array.countries);

ArrayAdapter<String> adpCountry = new ArrayAdapter<String>();
for(String country : countries)
{
    String parts = country.split(" ");
    String code = parts[0];

    adpCountry.addItem(code);
}

adpCountry.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spnCountry.setAdapter(adpCountry);
String[]countries=getResources().getStringArray(R.array.countries);
ArrayAdapter adpCountry=新的ArrayAdapter();
for(字符串国家:国家)
{
字符串部分=country.split(“”);
字符串代码=部件[0];
adpCountry.addItem(代码);
}
adpCountry.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
SPConCountry.setAdapter(adpCountry);
选择项目

spnCountry.setOnItemSelectedListener(new OnItemSelectedListener()
{
    @Override
    public void onItemSelected(AdapterView<?> arg0, View arg1, int index, long arg3)
    {
        String country = "";
        String[] countries = getResources().getStringArray(R.array.countries);

        String selected = countries[index];
        String[] parts = selected.split(" ");
        for(String part : parts)
        {
            country += part;
        }

        TextView txtName = findViewById(R.id.country_name);
        txtName.setText(country);
    }

    @Override
    public void onNothingSelected(AdapterView<?> arg0){ /* Unused */ }
});
spnCountry.setOnItemSelectedListener(新的OnItemSelectedListener()
{
@凌驾
已选择公共索引(AdapterView arg0、视图arg1、整型索引、长arg3)
{
字符串country=“”;
String[]countries=getResources().getStringArray(R.array.countries);
所选字符串=国家[索引];
String[]parts=selected.split(“”);
用于(字符串部分:部分)
{
国家+=部分;
}
TextView txtName=findviewbyd(R.id.country\u name);
txtName.setText(国家);
}
@凌驾
未选择的公共无效(AdapterView arg0){/*未使用*/}
});

(发自内心)

您好,我已经尝试了您的代码,但是出现了一个错误12-16 15:40:27.961:error/AndroidRuntime(245):由以下原因引起:java.lang.UnsupportedOperationException 12-16 15:40:27.961:error/AndroidRuntime(245):在java.util.AbstractList.java:411添加(AbstractList)12-16 15:40:27.961:error/AndroidRuntime(245):at java.util.AbstractList.add(AbstractList.java:432)12-16 15:40:27.961:ERROR/AndroidRuntime(245):at android.widget.ArrayAdapter.add(ArrayAdapter.java:178)方法addItem(String)对于使用addItem和add尝试的ArrayAdapter类型未定义。我要做的是:当显示微调器时,我希望仅显示国家/地区代码,当我单击微调器并打开列表时,我希望查看国家/地区代码和国家/地区名称