問題描述
我正在為使用 Android 2.2 的平板電腦進行開發.
I am developing for a tablet using Android 2.2.
我有一個用于新的可編輯實例的表單.當可編輯時,我想阻止用戶編輯某些字段.我在我的 onStart
-事件中管理它,設置 txt.setFocusableInTouchMode(false)
.這會強制將焦點移到我的表單中的下一個可聚焦的 EditText
上(這很棒),但是在運行時,軟鍵盤會自動出現在具有焦點的 EditText
上.有人知道如何阻止這種情況嗎?
I have a form which I am using for new and editable instances. When editable, I want to stop the user from editing certain fields. I manage this in my onStart
-event, setting the txt.setFocusableInTouchMode(false)
.
This forces the focus to the next focusable EditText
in my form (which is great), but when running, the soft keyboard automatically appears for the EditText
with the focus.
Anybody know how to stop this?
這是代碼(在 onStart
事件中調用):
Here's the code (called in the onStart
event):
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);
}
推薦答案
也許這會對你有所幫助:
Maybe this will help you:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
當第一次創建或調用活動時,將此方法放在你的activity
的onCreate()
方法中.
Put this method in the onCreate()
method of your activity
when the activity is first created or called.
這篇關于如何在焦點更改時停止軟鍵盤自動顯示(OnStart 事件)的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!