我有一个场景,我在我的应用程序中使用微调器。一个make spinner下拉列表,使用“performclick()”方法直接打开。下拉列表已打开。有没有办法我可以自动关闭它或自动点击下拉列表中的项目,以便下拉列表被解除。
答案 0 :(得分:1)
Borg8 的答案是唯一有效的解决方案!这是我添加回微调器的版本。
if (spinner.getParent() == null){
parent.addView(spinner);
spinner.setLayoutParams(params);
spinner.forceLayout();
}
答案 1 :(得分:0)
Spinner
没有公开任何明确关闭它的方法。如果setSelection()
没有那种效果,那么您可能需要编写自己的小部件,以便更好地控制,或者避免尝试这样做。
答案 2 :(得分:0)
此解决方案对我有用,目前我还没有看到任何理由停止工作。
如果 spinner 是你的微调器,那么:
// get spinner layout and its parameters
ViewGroup parent = (ViewGroup)spinner.getParent();
ViewGroup.LayoutParams params = spinner.getLayoutParams();
// remove spinner from the layout - will dismiss its dropdown menu
parent.removeView(spinner);
// add spinner back and set same parameters
parent.addView(spinner);
spinner.setLayoutParams(params);
那是