LinearLayout
에 ScrollView
을 사용하는 동안 어떻게 소프트 키보드 입력을 숨길 수 있습니까?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와 같지만,대신에 .
이 세 가지 해결책 중 어느 것도 저에게 효과적이지 않았습니다.
내가 알아챈 한 가지는 layout.xml
파일에서 ScrollView
을 제거하면 모든 것이 의도 한대로 작동한다는 것입니다.
이벤트가 호출되고 있습니까? 모든 것이 정상인 것처럼 보입니다 –
@RobinDijkhof 예. @Override를 사용했습니다. public boolean onTouchEvent (MotionEvent 이벤트) { InputMethodManager imm = (InputMethodManager) getSystemService (Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow (getCurrentFocus(). getWindowToken(), 0); return true; }'내 이전 활동에서 작동하고 모든 것이 잘 작동합니다.제 의견으로는 ScrollView 구성 요소에 문제가 있습니다 (그러나 정확히 무엇을 말합니까?) 레이아웃 xml 파일 (레이아웃/레이아웃 포트)에 주석 ScrollView 구성 요소를 넣었을 때 모든 것이 정상이었습니다. – Tom