Как остановить автоматическое отображение мягкой клавиатуры при изменении фокуса (событие OnStart)

Я разрабатываю для планшета с Android 2.2.

У меня есть форма, которую я использую для новых и редактируемых экземпляров. Когда можно редактировать, я хочу запретить пользователю редактировать определенные поля. Я управляю этим в своем событии onStart , устанавливая txt. Это переводит фокус на следующий фокусируемый 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);
}
27
задан Milad Faridnia 3 November 2015 в 09:01
поделиться