Android开发之spinner的使用

我想用spinner来实现下拉列表框的功能,还能点击item响应事件。

1.对于给spinner添加项目有两种方式,第一种是在xml文件中以资源的方式添加,第二种是直接在代码中添加。具体实现可以看:

链接1: http://blog.csdn.net/wanli_smile/article/details/6410388     例子很多,对于想要实现多功能的spinner的人来说很好用的。

链接2:imshare.iteye.com/blog/770950  这个例子比较简单,但是对于本质的spinner使用还是很可靠的

2.遇到最多的问题也是spinner不灵活的问题

第一:使用spinner的setOnItemSelectedListener()函数的时候会在程序开始的时候会默认选中第一个项目,对于一些只是将选择项的文字显示在spinner上就没有什么问题,但是你要选择之后执行跳转就不行了,解决办法是setSection(0,true)这样就不会执行第一个项目,但是了一个问题就是你要选第一个时候也无法跳转,此时点击其他的可以跳转,但是返回之后再点击同样的item的话也是不能跳转。部分代码如下

spinner.setSelection(0,true);
spinner.setOnItemSelectedListener(new SpinnerSelectedListener1());

class SpinnerSelectedListener1 implements AdapterView.OnItemSelectedListener {
    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
                               long arg3) {
        Intent intent = new Intent(SpinnerTest.this,MainActivity.class);
        switch (arg2){
            case 0:
                startActivity(intent);
                break;
            case 1:
                startActivity(intent);
                break;
            case 2:
                startActivity(intent);
                break;
            default:break;
        }
    }
第二:基本上只使用setOnItemSelectedListener()了,也不要用setOnItemClickListener(),会报错,在android API里面已经说明spinner是不能使用setOnItemClickListener()的,还有一篇很好地文章来分析setOnItemClickListener()、setOnItemSelectedListener()、OnFocusChangeListener分别在什么情况下触发事件,链接如下

http://www.01yun.com/mobile_development/20130105/42301.html


如果大家有什么更好的想法或者发现我有什么错误,欢迎拍砖,我会继续努力!

      

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值