Как скрыть ввод мягкой клавиатуры, пока я использую ScrollView
в моем LinearLayout
?Как скрыть ввод мягкой клавиатуры при использовании ScrollView
Я попытался осуществить следующее в своем классе деятельности, хотя ни одно из этих решений не дают желаемого результата:
(1)
@Override
public boolean onTouchEvent(MotionEvent event)
{
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
return true;
}
(2)
@Override
public boolean onTouchEvent(MotionEvent event)
{
ScrollView myScrollView = (ScrollView) findViewById(R.id.scrollview); //of course scrollview was id in layout then
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
return true;
}
(3)
То же, что и # 2, но с LinearLayout
вместо ScrollView
.
Ни одно из этих трех решений не сработало для меня.
Одна вещь, которую я заметил, заключается в том, что когда я удаляю ScrollView
из файла layout.xml
, все работает по назначению.
Вы уверены, что событие вызвано? все кажется нормальным –
@RobinDijkhof Да. Я использовал '@Override public boolean onTouchEvent (событие MotionEvent) { InputMethodManager imm = (InputMethodManager) getSystemService (Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow (getCurrentFocus(). GetWindowToken(), 0); return true; } Функция в моих предыдущих действиях и все работает нормально.По моему мнению, есть некоторые проблемы с компонентом ScrollView (но я точно не знаю, что) beacause, как я уже сказал, когда добавлял комментарий в компонент ScrollView в макете xml-файла (res/layout-port), все было в порядке. – Tom