
There is a pretty good answer here,然而,我觉得这有点矫枉过正?有没有更简单的方法?
解决方法 首先,我引用 this link来判断我是否应该回答我自己的问题.我觉得这对面临类似问题的人非常有用,所以如果这不是本网站的正确礼仪,我会道歉(回答你自己的问题).现在,我偶然发现试图找到解决这个问题的方法,经过反复试验我已经成功了.因此,一旦您在项目中下载并设置了ActionbarSherlock SDK,请创建将包含微调器的布局:
<com.actionbarsherlock.internal.Widget.Icsspinner androID:ID="@+ID/spinner" androID:layout_wIDth="wrap_content" androID:layout_height="wrap_content" androID:layout_below="@+ID/Title" androID:layout_margin="10sp" androID:layout_centerHorizontal="true" androID:textSize="18sp" />
上面的代码将使用ActionbarSherlock库中的微调器的ICS版本.接下来,在您的Activity声明并实例化(使用强制转换)微调器对象.但请注意,您不使用普通的Spinner类,而是使用ActionbarSherlock库中的Icsspinner类:
Icsspinner spinner = (Icsspinner)findVIEwByID(R.ID.spinner);
现在,您可以像创建普通Spinner一样创建适配器,如下所示:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.spinner_item,elements);spinner.setAdapter(adapter);
最后,您需要设置onItemSelectedListener.这里唯一的主要区别是你使用IcsAdapterVIEw.OnItemSelectedListener而不仅仅是OnItemSelectedListener:
spinner.setonItemSelectedListener(new IcsAdapterVIEw.OnItemSelectedListener(){ @OverrIDe public voID onItemSelected(IcsAdapterVIEw<?> parent,VIEw vIEw,int position,long ID){ } @OverrIDe public voID onnothingSelected(IcsAdapterVIEw<?> parent){ }}); 就是这样.它与使用微调器对象真的没什么不同.
虽然很简单,但我花了一些时间才弄明白,所以,我希望这对某人有用.
哦是的,不要忘记使用ActionbarSherlock主题,就像这样(在清单中):
androID:theme="@style/theme.Sherlock"总结
以上是内存溢出为你收集整理的java – 旧版Android版本中的ICS Spinner(“下拉”而不是对话框)全部内容,希望文章能够帮你解决java – 旧版Android版本中的ICS Spinner(“下拉”而不是对话框)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)