我正在开发使用Android 2.2的平板电脑。如何停止软键盘在焦点改变时自动显示(OnStart事件)
我有一个表单,我正在使用新的和可编辑的实例。在可编辑时,我想停止用户编辑某些字段。我在我的onStart
-event中管理这个,设置txt.setFocusableInTouchMode(false)
。 这会强化我的表单中的下一个可调焦的EditText
(这很棒),但是在运行时,软键盘会自动显示EditText
的焦点。有人知道如何制止这种情况吗?
下面的代码(称为在onStart
事件):
private void PopulateFields(){
TextView txtTitle = (TextView) this.findViewById(R.id.txtEquipmentEditTitle);
AutoCompleteTextView txtMake = (AutoCompleteTextView) this.findViewById(R.id.autEquipmentEditMake);
AutoCompleteTextView txtModel = (AutoCompleteTextView) this.findViewById(R.id.autEquipmentEditModel);
EditText txtDesc = (EditText) this.findViewById(R.id.txtEquipmentEditDesc);
TextView txtDeptKey = (TextView) this.findViewById(R.id.txtEquipmentEditDeptKey);
EditText txtSerial = (EditText) this.findViewById(R.id.txtEquipmentEditSerialNo);
EditText txtBarCode = (EditText) this.findViewById(R.id.txtEquipmentEditBarCode);
txtTitle.setText("Edit Equipment");
txtMake.setText(make);
txtModel.setText(model);
txtDesc.setText(desc);
txtDeptKey.setText(Integer.toString(deptKey));
txtSerial.setText(serial);
txtBarCode.setText(barCode);
txtMake.setEnabled(false);
txtModel.setEnabled(false);
txtDesc.setEnabled(false);
txtMake.setClickable(false);
txtMake.setFocusableInTouchMode(false);
txtModel.setFocusableInTouchMode(false);
txtDesc.setFocusableInTouchMode(false);
txtMake.setFocusable(false);
txtModel.setFocusable(false);
txtDesc.setFocusable(false);
}
这固定我的问题的XOOM(安卓3.0.1)。我将上面的代码行添加到我的onCreate()方法中。我仍然不确定什么是“软输入”。 –
软输入是屏幕键盘。另一种选择是一个真正的物理键盘。 –
这似乎对Android 2.2没有任何影响。SOFT_INPUT_STATE_ALWAYS_HIDDEN也没有任何影响。 – Torben