Ciao a tutti,
ho un problema con l'option menu e il focus.
Ho una View abbastanza semplice in cui carico dei dati remoti. Vorrei visualizzare un'icona dell'option menu solo quando i dati arrivano sul dispositivo e se l'oggetto che ricevo ha determinate caratteristiche.
Il codice:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
return true;
}
@Override public boolean onPrepareOptionsMenu(Menu menu) {
if (corsa != null && corsa.getDataPartenzaEffettiva() == null) {
menu.clear();
getMenuInflater().inflate(R.menu.dettaglio_corsa, menu);
}
return true;
}
La prima volta creo il menù vuoto e solo quando ricevo i dati (chiamata asincrona) chiamo invalidateOptionsMenu() così il menù viene popolato. Tutto funziona correttamente ma il problema si verifica quando apro la tastiera virtuale:
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if (inputMethodManager != null) {
inputMethodManager.toggleSoftInput(InputMethodMana ger.SHOW_FORCED, 0);
}
ogni volta che premo un tasto sulla tastiera l'icona dell'option menu si evidenzia, e quando premo invio mi viene rilanciata l'azione associata all'icona. Invece non voglio che avvenga questo.
Non capisco perché l'icona dell'option menù si evidenzi ogni volta che premo un tasto, e perda la selezione quando rilascio il tasto.
Qualche idea?
Grazie