在注册期间,用户可以从android Spinner中选择titleName。我从xml类加载数据到Spinner。我想传递titleName和标题ID,
如何获取所选titleName&#39的数组索引的值? 例如 - 如果用户选择了Mr,那么我想传递值0。
我的java代码
states = getResources().getStringArray(R.array.title_array);
titleSP = (Spinner) findViewById(R.id.registerTitle);
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, states);
dataAdapter
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
titleSP.setAdapter(dataAdapter);
final Button button = (Button) findViewById(R.id.btnRegister);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
try {
String TitleName = titleSP.getSelectedItem().toString();
我的title.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="title_prompt">Choose the title</string>
<string-array name="title_array">
<item>Mr</item>
<item>Mrs</item>
<item>Miss</item>
<item>Dr</item>
<item>Rev</item>
<item>Ms</item>
</string-array>
</resources>
答案 0 :(得分:0)
适配器中的position
参数。您可以检索它实现OnItemClickListener
。 onItemClick的第三个参数
是你正在寻找的价值
答案 1 :(得分:0)
使用Spinners OnItemClickListener
spinner.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String[] titles = getResources().getStringArray(R.id.title_array);
String selectedTitle = titles[position];
}
});
位置变量给出了微调器中项目的位置,您可以直接匹配数据源中标题的位置。
编辑: 您可以使用微调器的内置方法来获取当前选定的项目位置。因此,如果您选择第一个项目,您将获得选定项目位置0.因为这是基于您的数据源,所选项目位置0将与R.id.title_array中的索引位置0相同,这将是“Mr”
titleSP.getSelectedItemPosition();