项目中Spinner的使用
博客专区 > EmilyWu 的博客 > 博客详情
项目中Spinner的使用
EmilyWu 发表于6个月前
项目中Spinner的使用
  • 发表于 6个月前
  • 阅读 11
  • 收藏 0
  • 点赞 0
  • 评论 1

【腾讯云】如何购买服务器最划算?>>>   

Spinner获取值的三种方式:

第一种方式:将数据存放在Java页面的数组

 private ArrayAdapter<String> adapter; //存放数据
 private Spinner spMonth;   //下拉框
 private static final String[] month= {"January", "February", "March", "April","May","June","July","August","September,"October","Noverber","December"}; //定义数组
 spMonth = (Spinner) findView(R.id.sp_month);//将可选内容与ArrayAdapter连接,
 adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_item, month);
 spMonth.setAdapter(adapter);//将adapter添加到spMonth中
 //添加Spinner事件监听
 spMonth.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
     @Override
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
        Map<String, String> map = new HashMap<String, String>();
        map.put("January", "01");
        map.put("February", "02");
        map.put("March", "03");
        map.put("April", "04");
        map.put("May", "05");
        map.put("June", "06");
        map.put("July", "07");
        map.put("August", "08");
        map.put("September", "09");
        map.put("October", "10");
        map.put("November", "11");
        map.put("December", "12");
        Set set=map.entrySet();
        Iterator iterator=set.iterator();
        while (iterator.hasNext()){
            Map.Entry next = (Map.Entry) iterator.next();
            month = next.getValue();
        }
    }
    @Override
   public void onNothingSelected(AdapterView<?> parent) {
    }
});

 第二种方式:存放在strings.xml文件中

  可以在values文件夹的:arrays.xml、colors.xml、ids.xml、strings.xml、styles.xml等等中设置。

  //存放在arrays.xml
   <string-arrayname="title">
        <item>January</item>
        <item>February</item>
        <item>March</item>
        <item>April</item>
         <item>May</item>
        <item>June</item>
        <item>July</item>
        <item>August</item>
       <item>September</item>
        <item>October</item>
        <item>November</item>
        <item>December</item>
    </string-array>
   //根据arg2获取对应值的时候更改
    public voidonItemSelected( AdapterView<?> arg0, View arg1, int arg2, long arg3){ 
         String month=Activity.this.getResources().getStringArray(R.array.title)[arg2];
    }

 

    第三种方式:在Spinner获取值

   不需要实现spMonth.setOnItemSelectedListener ( newOnItemSelectedListener()};只需要month=spMonth.getSelectedItem().toString();//放在每次选择后都会重新执行一次的方法中,  不然title的值只会获取1次。

标签: Spinner
共有 人打赏支持
粉丝 6
博文 5
码字总数 2855
评论 (1)
huqi88
膜拜一下女神
×
EmilyWu
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: