阻止EditText在聚焦时显示软键盘

时间:2012-02-17 17:33:17

标签: android keyboard popup

嗯,这让我抓狂了...... 我已经阅读了THISTHISTHIS,但对我来说没有任何作用。

SCENARIO
这是场景:我的民意调查应用程序从配置文件中读取调查,问题可能有单个,多个或文本答案 在第一种情况下,我将RadioButtons添加到活动中,在第二种情况下将复选框添加到第三种情况,并在第三种情况下添加一些多行EditText。

一切正常,但当调查向下滚动时,焦点将由自动显示 SoftKeyboard的下一个EditText 自动接收。 考虑到我的用户可能想要回答第一个问题,然后回到第二个问题,然后跳到最后一个回到第二个回复到第三个问题,这非常令人讨厌。

目前,当第一个EditText第一次收到焦点时,即使用户继续向下滚动,键盘也会弹出并保持不变(即使被诅咒的EditText最终失去了焦点)。

问题
我怎样才能有一个EditText显示键盘仅在用户点击时 NOT 当只收到焦点时?

ENVIRO
13级API(Honeycomb)

提前致谢
Lorenzo(认真考虑开设餐厅)

2 个答案:

答案 0 :(得分:5)

在onCreate(..)方法中,您可以使用

将EditText控件设置为不可聚焦
EditText.setFocusable(false);

这样可以防止键盘在滚动时显示。 在onClickListener(..)中,您可以使用

重新启用它
EditText.setFocusableInTouchMode(true);
EditText.requestFocus();

答案 1 :(得分:1)

尝试放置属性

android:descendantFocusability="blocksDescendants"

在您的scrollView容器