Try with below code
Interface:
ICallBacks
public interface ICallBacks {
public void isChanged();
}
In your activity define on variable like
public ICallBacks mCallbacks;
In OnPageChangeListener
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
if (mCallbacks != null)
mCallbacks.isChanged();
}
In your fragment you need to implement with ICallBacks interface
@Override
public void onAttach(Activity activity) {
// TODO Auto-generated method stub
super.onAttach(activity);
if (activity != null) {
((PagerActivity) getActivity()).mCallbacks = this;
}
}
@Override
public void isChanged() {
if (isVisible())
hideKeyboard();
}
private void hideKeyboard() {
InputMethodManager inputManager = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE);
View view = this.getCurrentFocus();
if (view != null) {
inputManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
}