android Spinner如何获取被选中的值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android Spinner如何获取被选中的值?相关的知识,希望对你有一定的参考价值。

<string-array name="arrays1">        <item>第一回答</item>        <item>第二回答</item>        <item>第三回答</item>        <item>第四回答</item></string-array> 选中其中一个,点击提交按钮 

参考技术A 1,获取选中值要通过spinner的setOnItemSelectedListener()事件来操作,根据spinner绑定值的方式的不一样,获取选中值的方式略有不同。
2,如果没有用实体层绑定数据的话,诸如通过
SimpleAdapter adapter = new SimpleAdapter(
HRInputBase_Activity.this, items, R.layout.sp_item,
new String[] "text", "value" , new int[]
R.id.sp_text, R.id.sp_value );
sp_privince.setAdapter(adapter);
这种方式绑定的。获取的方式为:
TextView ProvinceTxt = (TextView) sp_privince.getSelectedView()
.findViewById(R.id.sp_value); // 得到选中的选项Id
String codeString = ProvinceTxt.getText().toString();
如果使用的是实体层的话,在setOnItemSelectedListener()事件中根据点击的索引值获取相对应的实体类,然后从实体类中获取对应得Code和Value值,相对来说,使用实体层更加的方便,代码整洁。
3,两者都使用的是Adapter数据集的绑定,主要是考察对adapter的知识,可以对这方面多学习一点。
参考技术B ------onCreate函数里:
//通过xml找到Spinner
mSpinner = (Spinner)findViewById(R.id.Spinner);
//通过资源数组建适配器
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.arrays1, android.R.layout.simple_spinner_item);
//绑适配器
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSpinner.setAdapter(adapter);
//设监听
mSpinner.setOnItemSelectedListener(mOnItemSelectedListener);
-------自定义处理函数
private OnItemSelectedListener mOnItemSelectedListener = new OnItemSelectedListener()
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int position,
long arg3)
//你的处理动作

@Override
public void onNothingSelected(AdapterView<?> arg0)

;
参考技术C s1.getSelectedItem()).toString()本回答被提问者采纳

【android编程】安卓的spinner下拉框怎么做到点击空白处关闭下拉框?

RT。

参考技术A 在失去焦点是,控制收起来追问

我要方法

以上是关于android Spinner如何获取被选中的值?的主要内容,如果未能解决你的问题,请参考以下文章

Android 获取Spinner所有的值,设置指定值

【android编程】安卓的spinner下拉框怎么做到点击空白处关闭下拉框?

android spinner默认啥都不选择

android 的spinner控件点击不能显示选中数据

Android 谁有动态添加多个RadioGroup 并获取所有RadioGroup被选中的值的方法?

如何获取dataGridView选中行的列值?