COMPUTING/Android

[안드로이드 개발] TabLayout 에서 탭 변경시 키보드 숨기기

Exeter 2016. 1. 3. 21:42
반응형


* 안드로이드 프로그래밍을 학습 하면서 남기는, 개인적으로 참고 목적으로 작성하는 카테고리 입니다. 

내용의 상당 부분은 Google 검색 결과를 포함합니다.


안드로이드 스튜디오에서 제공하는 기본 샘플 프로젝트 중 AppBarLayout 과 TabLayout 를 활용한 탭 메뉴에서, 특정 탭을 선택 했을때, 기존에 열려있던 키보드를 숨기는 방법이다. 

예를들어 첫번째 탭에서 EditText 위젯에서 키보드가 올라와 있을때 두번째 탭을 선택하면 자동으로 키보드가 사라지지 않는데, 아래 코드를 적절한(?) 위치에 삽입하면, 탭 변경시 키보드가 자동으로 사라지게 된다.


아래에서 mViewPager는 안드로이드 스튜디오 기본 템플릿에 정의된 객체명이다.


mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {

            @Override

            public void onPageSelected(int position) {

(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(mViewPager.getWindowToken(),0);

            }


            @Override

            public void onPageScrolled(int position, float offset, int offsetPixels) {

            }


            @Override

            public void onPageScrollStateChanged(int state) {

            }

        });


반응형