EDIT : Seems I\'m not making myself clear. What I need is a way to hide the soft keyboard whenever i replace the fragment I am in. How do I go about doing this ?
set OnPageChangeListener to viewpager in mainActivity Where you add fragments to viewPager
viewPager.setOnPageChangeListener(myOnPageChangeListener);
ViewPager.OnPageChangeListener myOnPageChangeListener =
new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrollStateChanged(int state) {
//Called when the scroll state changes.
}
@Override
public void onPageScrolled(int position,
float positionOffset, int positionOffsetPixels) {
//This method will be invoked when the current page is scrolled,
//either as part of a programmatically initiated smooth scroll
//or a user initiated touch scroll.
hideKeyboard();
}
@Override
public void onPageSelected(int position) {
//This method will be invoked when a new page becomes selected.
//hide keyboard when any fragment of this class has been detached
hideKeyboard();
}
};
public void hideKeyboard() {
InputMethodManager inputManager = (InputMethodManager)getApplicationContext().getSystemService(Context.INPUT_METHOD_SERVICE);
// check if no view has focus:
View v = getCurrentFocus();
if (v == null)
return;
inputManager.hideSoftInputFromWindow(v.getWindowToken(), 0);
}