【发布时间】:2010-11-15 20:42:59
【问题描述】:
我遇到了一个问题:当我使用非平凡类型的 Spinner 项目时,Spinner 会在 Spinner 以外的其他位置显示下拉列表。
(注意:此描述的大部分内容与https://stackoverflow.com/questions/4188443/android-doesnt-honor-selection-change-with-custom-spinner-items 相同,但我在这里报告的问题略有不同。我已将它们分开,以便清楚将不同的回复指向何处)
我的目标是让微调器中的每个项目都有一个更漂亮的显示,因此我首先创建了一个包含多个项目的布局,其中一个是目标 TextView(在本例中为 lbl2)
然后我尝试设置微调器(我的最终目标是以编程方式填充微调器,所以我没有使用资源来设置它)使用:
Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(
this, R.layout.spinner_fancy, R.id.lbl2);
adapter.add("Item #1");
adapter.add("Item #2");
adapter.add("Item #3");
spinner.setAdapter(adapter);
当我运行程序时,它看起来(大部分)都很好 - 实际上,Spinner 为每个项目渲染了三个文本视图的愚蠢的多色垂直布局,并且它正确地替换了 Item #1、Item # 2,以及 lbl2 的第 3 项。我什至可以单击微调器并调出下拉选项列表。
这个问题是项目没有显示在微调器上。相反,它们只是漂浮在活动上,稍微往下一点。希望这张图片能帮助澄清:Floating Spinner Elements http://www.freeimagehosting.net/uploads/bf9f584156.png
编辑:感谢您的投票 - 我已经修复了图像,所以它现在是内联的!
【问题讨论】: