我有一个Spinner
,其所选项目的布局包括一个设置为数字输入的EditText
。当显示EditText
时,我可以单击它,并且文本光标在其中闪烁一秒钟,然后显示数字键盘。但随后光标立即消失,键盘又退回到标准键盘。在键盘上打字无济于事。 EditText
没有焦点,也不会保持焦点。
我尝试将descendantFocusability
上的Spinner
设置为beforeDescendants
和afterDescendants
,并启用和禁用focusableInTouchMode
,甚至尝试设置{{1 }}设为唯一的选项(focusable
,但似乎没有什么可以让我专注于auto
。
如何专注于EditText
以便进行编辑?
编辑:我想我已经找到问题的根源了,但是我不太确定从这里出发。专注于EditText会使EditText
执行布局,这一切都很好。除了Activity
的{{1}}函数始终调用Spinner
之外,它对焦点的破坏性与听起来一样。因此,我只剩下写一个继承的Spinner的任务了,它不会破坏焦点并且不会破坏其他意外方式,并且可能需要访问我将无法访问的内部变量,或者查找其他一些变量伪造layout
中包含removeAllViewsInLayout
的方法。