我遇到了一个问题:当我使用非常规的Spinner项目类型时,Spinner会在其他位置显示下拉列表而不是在Spinner上。
(注意:这个描述大部分与https://stackoverflow.com/questions/4188443/android-doesnt-honor-selection-change-with-custom-spinner-items相同,但我在这里报告的问题略有不同。我将它们分开,以便清楚地指导不同的回复)
我的目标是为Spinner中的每个项目提供稍微花哨一些的显示方式,因此我首先创建了一个包含多个项目的布局,其中一个项目是目标TextView(在这种情况下是lbl2)。
当我运行程序时,它看起来(大多数)很好 - Spinner实际上正在呈现每个项目的三个textviews的多彩垂直布局,并且它正确地将Item#1,Item#2和Item#3替换为lbl2。 我甚至可以单击Spinner并弹出选择列表。
问题是项目没有显示在Spinner上方。 相反,它们只是在活动上漂浮着,稍微向下移动一点。 希望这张图片能帮助澄清:Floating Spinner Elements http://www.freeimagehosting.net/uploads/bf9f584156.png 编辑:感谢投票支持 - 我已经修复了图像,使其成为内联!
(注意:这个描述大部分与https://stackoverflow.com/questions/4188443/android-doesnt-honor-selection-change-with-custom-spinner-items相同,但我在这里报告的问题略有不同。我将它们分开,以便清楚地指导不同的回复)
我的目标是为Spinner中的每个项目提供稍微花哨一些的显示方式,因此我首先创建了一个包含多个项目的布局,其中一个项目是目标TextView(在这种情况下是lbl2)。
接下来我尝试设置Spinner(我的最终目标是通过编程方式填充Spinner,因此我不使用资源来设置它),使用以下代码:
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实际上正在呈现每个项目的三个textviews的多彩垂直布局,并且它正确地将Item#1,Item#2和Item#3替换为lbl2。 我甚至可以单击Spinner并弹出选择列表。
问题是项目没有显示在Spinner上方。 相反,它们只是在活动上漂浮着,稍微向下移动一点。 希望这张图片能帮助澄清:Floating Spinner Elements http://www.freeimagehosting.net/uploads/bf9f584156.png 编辑:感谢投票支持 - 我已经修复了图像,使其成为内联!