Sto sviluppando per un tablet con Android 2.2.Come interrompere la visualizzazione della tastiera software quando viene modificata la messa a fuoco (evento OnStart)
Ho un modulo che sto usando per istanze nuove e modificabili. Quando modificabile, voglio impedire all'utente di modificare determinati campi. Lo gestisco nel mio onStart
-event, impostando lo txt.setFocusableInTouchMode(false)
. Questo impone il focus sulla successiva messa a fuoco EditText
nel mio modulo (che è ottimo), ma quando è in esecuzione, la tastiera virtuale viene automaticamente visualizzata per lo EditText
con lo stato attivo. Qualcuno sa come fermarlo?
Ecco il codice (chiamato in caso 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);
}
Questo fissa il mio problema per il xoom (Android 3.0.1). Ho aggiunto la riga sopra al mio metodo onCreate(). Non sono ancora sicuro di cosa sia un "input morbido". –
L'input graduale è la tastiera su schermo. L'alternativa è una vera tastiera fisica. –
Questo non sembra avere alcun effetto su Android 2.2. Né SOFT_INPUT_STATE_ALWAYS_HIDDEN. – Torben