Voglio cercare con la mia tastiera personalizzata Android con il tasto Invio, ma non funziona.
Ho già mappato i tasti, ho solo bisogno di attivare la "azione di ricerca" su un campo di testo di ricerca, proprio come la ricerca su google.Come cercare con tasto invio su Android personalizzato InputMethodService?
Ho provato questo codice per innescare l'azione di ricerca, ma non funziona:
ic.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER));
Ecco il mio metodo per sovrascrivere l'evento tasto Invio:
public class Keyboard extends InputMethodService
implements KeyboardView.OnKeyboardActionListener {
@Override
public void onStartInputView(EditorInfo info, boolean restarting) {
super.onStartInputView(info, restarting);
setInputView(onCreateInputView());
switch (EditorInfo.IME_MASK_ACTION | EditorInfo.IME_FLAG_NO_ENTER_ACTION) {
case EditorInfo.IME_ACTION_SEARCH:
Toast.makeText(this, "test", Toast.LENGTH_SHORT).show();
//Action Search
break;
}
}
mio layout XML :
<?xml version="1.0" encoding="UTF-8"?>
<android.inputmethodservice.KeyboardView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/keyboard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:keyPreviewHeight="60dp"
android:keyPreviewOffset="12dp"
android:keyPreviewLayout="@layout/preview"
android:visibility="visible"/>
non ho alcun EditText nel mio layout per impostare android:imeOptions="actionSearch"
.
Grazie. per favore aiutami a fare il codice di ricerca – John
Bene, cosa vuoi cercare? Qual è il contesto? Cosa hai fatto fino ad ora? Penso che sia meglio aprire una nuova domanda incentrando solo il codice di ricerca e spiegando, o se la tua intenzione in questa domanda era di ottenere aiuto per il codice di ricerca e non per la tastiera, modifica la domanda e spiega meglio. –
ho modificato la tua risposta. per esempio voglio cercare nella casella di ricerca di Google Play App Store, quando digito una parola e premere il tasto Invio nella mia tastiera personalizzata. il codice che ho digitato non ha funzionato. Mi potete aiutare? grazie – John