отклонить представление из класса, расширенного InputMethodService

#android #view

#Android #Вид

Вопрос:

Я создал пользовательскую клавиатуру. Клавиатура НЕ является расширением класса Keyboard и также не использует класс Keyboard View. Я успешно создал свою клавиатуру, чтобы она отображалась. Клавиатура представляет собой линейное описание, которое я создал из XML-файла. Вот в чем проблема: я не могу от этого избавиться.

Если бы это было расширение KeyboardView, я бы использовал

 keyboard.closing();
  

но поскольку это LinearLayout, у меня нет этого метода.

Затем я попытался

 keyboard.removeView(keyboard);
  

Я не ожидал, что это сработает, и это не сработало.

Наконец, я попытался

 keyboard.removeAllViews();
  

в надежде, что это как бы оставит клавиатуру на экране, но никто бы не отказался, если бы все представления были удалены. Это тоже не сработало.

Есть предложения?

Ответ №1:

Что ж, если keyboard это представление, которое вы хотите скрыть, попробуйте вызвать keyboard.setVisibility(View.GONE) . Если вы хотите полностью удалить его, вам нужно будет найти родительское представление keyboard и вызвать removeView(keyboard) для этого. Я думаю, что первый подход проще, хотя, в зависимости от того, что вы хотите.

Комментарии:

1. вау… Я немного смущен, что не подумал о keyboard.setVisibility (View.GONE)… Спасибо