No więc problem jest następujący:
tworzę w Androidzie własną kontrolkę dziedziczącą bezpośrednio po View, ale mam problem z wykorzystaniem klawiatury ekranowej…
Najpierw spróbowałem nadpisać następujące metody klasy View:
@Override
public boolean onCheckIsTextEditor ()
{
return true;
}
@Override
public InputConnection onCreateInputConnection (EditorInfo outAttrs)
{
BaseInputConnection fic = new BaseInputConnection(this, false);
outAttrs.actionLabel = null;
outAttrs.inputType = InputType.TYPE_NULL;
outAttrs.imeOptions = EditorInfo.IME_ACTION_NEXT;
return fic;
}
ale w tym momencie klawiatura wciąż nawet się nie pojawiała w chwili, kiedy przyciskałem moją kontrolkę… toteż nadałem jej zdarzenie onClick
public void onClick(View v) {
InputMethodManager imm = (InputMethodManager) Kontrolka.this.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
}
Choć klawiatura zaczęła się wyświetlać, to metoda onKeyUp wciąż nie jest w ogóle wywoływana i nie wiem jak przechwycić dane, które wprowadzane są przez użytkownika…
Jak więc należy się do tego zabrać?