Domanda

Ho un'attività con un numero numerico seduto sopra un pulsante.

Ho notato che se fai clic nel testo di modifica e utilizzare la tastiera rigida per digitare alcuni numeri, quindi premere l'immissione rigida, che sposta la messa a fuoco sul pulsante sotto il testo di modifica e viene visualizzata una tastiera QWERTY.Come posso fermare questo?

Ho provato a controllare il tasto ENTER con quanto segue:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activityEnterAmt);

    final EditText editText = (EditText) findViewById(R.id.editTextEnterAmt);
    editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            if ((event != null && (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)) || (actionId == EditorInfo.IME_ACTION_DONE)) {
                Log.i("Tag", "Enter pressed or IME Action Submit pressed");
                saveButtonClick(editText);
            }
            return false;
        }
    });
}
.

Ma voglio davvero interromperlo ad aprire la tastiera quando premi Invio.Non capisco davvero perché sta facendo questo?

Grazie

È stato utile?

Soluzione

Ho risolto questo problema chiudendo la tastiera morbida quando l'editext perde la messa a fuoco:

editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            if (v == editText) {
                if (hasFocus) {
                    ((InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(editText,
                            InputMethodManager.SHOW_FORCED); // open keyboard

                } else {
                    ((InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(
                            editText.getWindowToken(), 0); // close keyboard
                }
            }
        }
    });
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top