android开发中怎样获取spinner选中的内容

 我来答
canlml
2018-04-12 · TA获得超过8021个赞
知道小有建树答主
回答量:43
采纳率:100%
帮助的人:1.4万
展开全部

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的知识,可以对这方面多学习一点。

小宝啊baby
推荐于2017-12-15 · TA获得超过140个赞
知道小有建树答主
回答量:386
采纳率:0%
帮助的人:320万
展开全部
千峰扣丁学堂Android 培训为您解答:
  首先了解Spinner所用到的适配器相关的参数
  AdapterView parent, 表示Spinner
  View view, 表示被选择的条目
  int position, 表示数据的下标
  long id 表示该条目在所有条目中的下标
  一般来说 postion 和 id 都是相同的

  理解了适配器相关的参数的意思,就很容易写出得到item的代码,
  public void onItemSelected(AdapterView parent, View view, int position,
  long id) {
  //知道那个条目被选择啦
  //1 由于数据在view上可以直接从view里面获取
  /* TextView tv_city = (TextView) view.findViewById(R.id.tv_city);

  String city = tv_city.getText().toString();
  Toast.makeText(this, city, 1).show();*/
  //2 知道数据的下标可以从数据里面直接获取
  /* String city = citys[position];
  Toast.makeText(this, city, 1).show();*/
  //3 从Spinner身上直接获取
  /* String city = (String) spinner.getSelectedItem();
  Toast.makeText(this, city, 1).show();*/
  //4 从adapter获取
  String city = adapter.getItem(position);
  Toast.makeText(this, city, 1).show();
  }
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
育知同创教育
2016-03-31 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部
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的知识,可以对这方面多学习一点。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式