专注于EditText

时间:2012-12-05 11:26:04

标签: android focus android-edittext

当我尝试按EditText获取焦点时,它只能从中间向左移动。如果我从中间向右按下没有任何反应。

(它有width = fill_parent)。

我在Android 2.2和4.2.1上测试过。两者都有相同的行为。

为什么会发生这种情况并且可以“修复”?

这是一个Android平台错误吗?

更新

首先我认为它与在活动开始时隐藏键盘有关,但我尝试了4个选项:

添加到基础LinearLayout(检查Stop EditText from gaining focus at Activity startup

<LinearLayout
....
android:focusable="true"
android:focusableInTouchMode="true" />

我也试过了:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

改变清单:

<activity.... android:windowSoftInputMode="adjustUnspecified|stateHidden"/>

并使用默认行为。

...都具有上述相同的行为。

3 个答案:

答案 0 :(得分:0)

问题已更新。老答案:

删除您在线性布局xml文件中执行的操作, 并将此代码放在create方法的活动上,这样就可以防止键盘自动弹出:

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

答案 1 :(得分:0)

为什么你添加了android:focusable =“true” android:focusableInTouchMode =“true”到LinearLayout?在每个LinearLayout中,焦点将放在页面加载的第一个可聚焦项目上。如果您想要焦点或其他视图,请在布局中的视图后添加标记。

答案 2 :(得分:-1)

解决了这个问题。它与EditText宽度有关。