专注于编辑文本



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

(它的宽度 = fill_parent)。

我在安卓 2.2

和 4.2.1 上进行了测试。两者的行为相同。

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

这是一个安卓平台错误吗?

更新:

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

添加到基本线性布局(选中停止编辑文本在活动启动时获得焦点)

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

我也试过:

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

并在清单上更改:

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

并使用默认行为。

。它们都具有上述相同的行为。

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

问题已更新。旧答案:

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

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

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

最新更新