Android 使用xml资源创建ArrayAdapter并检索;id";或;“价值”;使用微调器的字段
我试图创建一个微调器,使用ArrayAdapter从资源xml填充该微调器的值 我还想给资源项一些“id”或“value”。如何在onItemSelected()回调中检索这些值 下面是Java代码Android 使用xml资源创建ArrayAdapter并检索;id";或;“价值”;使用微调器的字段,android,android-arrayadapter,android-spinner,android-resources,Android,Android Arrayadapter,Android Spinner,Android Resources,我试图创建一个微调器,使用ArrayAdapter从资源xml填充该微调器的值 我还想给资源项一些“id”或“value”。如何在onItemSelected()回调中检索这些值 下面是Java代码 package com.waus.waus; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.widg
package com.waus.waus;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
public class Register extends Activity implements OnItemSelectedListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.register);
Spinner countrySpinner = (Spinner) findViewById(R.id.country_code_spinner);
ArrayAdapter<CharSequence> countryAdapter = ArrayAdapter.createFromResource(this, R.array.country_codes, android.R.layout.simple_spinner_item);
countryAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
countrySpinner.setOnItemSelectedListener(this);
countrySpinner.setAdapter(countryAdapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onItemSelected(AdapterView<?> parent, View arg1, int pos,
long arg3) {
// TODO Auto-generated method stub
Toast.makeText(this, "THIS IS WHERE I WANT TO SHOW THE ID/VALUE" ,Toast.LENGTH_SHORT).show();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
package com.waus.waus;
导入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;
公共类寄存器扩展活动实现MSelectedListener{
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.register);
微调器country微调器=(微调器)findViewById(R.id.country\u code\u微调器);
ArrayAdapter countryAdapter=ArrayAdapter.createFromResource(这是R.array.country\u代码,android.R.layout.simple\u微调器\u项);
countryAdapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
countrySpinner.setOnItemSelectedListener(此);
countrySpinner.setAdapter(countryAdapter);
}
@凌驾
公共布尔onCreateOptions菜单(菜单){
//为菜单充气;这会将项目添加到操作栏(如果存在)。
getMenuInflater().充气(R.menu.main,menu);
返回true;
}
@凌驾
已选择公共视图(AdapterView父视图、视图arg1、内部位置、,
长arg3){
//TODO自动生成的方法存根
Toast.makeText(这是“我要显示ID/值的地方”,Toast.LENGTH_SHORT.SHOW();
}
@凌驾
未选择公共无效(AdapterView arg0){
//TODO自动生成的方法存根
}
}
这是我想要使用的XML文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="country_codes">
<item value="91">India</item>
<item value="1">United States</item>
// OR
<item id="1">United States</item>
</string-array>
</resources>
印度
美国
//或
美国
如何在不使用2个资源文件的情况下完成。i、 e.一个用于代码,另一个用于名称
String[] SortByField= activity.getResources().getStringArray(
R.array.country_codes);
或
我希望它对您有用。我已经实现了很多。我想为资源列表中的每个项目设置“value”属性,然后在onItemSelected()方法中检索它。
Arrayadapter adapterFillClass = ArrayAdapter.createFromResource(activity,
R.array.country_codes,
android.R.layout.simple_spinner_dropdown_item);
spinner.setadapter(adapterFillClass);