1

当我尝试按下 EditText 以获得焦点时,它只能从它的中间向左工作。如果我从中间向右按,什么也不会发生。

(它有宽度 = fill_parent)。

我在 Android 2.2 和 4.2.1 上进行了测试。两者的行为相同。

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

是安卓平台的bug吗?

更新:

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

添加到基础 LinearLayout (检查Stop EditText from getting 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"/>

并使用默认行为。

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

4

3 回答 3

0

问题已更新。老答案:

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

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
于 2012-12-05T11:31:50.063 回答
0

为什么将 android:focusable="true" android:focusableInTouchMode="true" 添加到 LinearLayout?在每个 LinearLayout 中,焦点将放在页面加载时的第一个可聚焦项上。如果您希望将焦点放在其他视图上,请在布局中的视图后添加一个标签。

于 2012-12-05T11:44:55.910 回答
-1

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

于 2012-12-07T11:06:11.113 回答