android fragment 切换时隐藏软键盘

来源:互联网 发布:java断点续传下载校验 编辑:程序博客网 时间:2024/06/05 01:52

今天,项目遇到这个问题,在网上找了好久,都不理想,好多都是copy的。结果在大神的帮助下完成,代码如下:

 public  void hideIputKeyboard(final Context context) {    final Activity activity = (Activity) context;    activity.runOnUiThread(new Runnable() {        @Override        public void run() {            InputMethodManager mInputKeyBoard = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);            if (activity.getCurrentFocus() != null) {                mInputKeyBoard.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(),        InputMethodManager.HIDE_NOT_ALWAYS);                activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);            }        }    });}

那什么时候,调用这段代码呢?

在ViewPage切换时,即:
viewPage.setOnPageChangeListener(xxxx);
然后你们说:setOnPageChangeListener不是过期了吗,那么我们就换个函数:

viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

        }        @Override        public void onPageSelected(int position) {            //添上这个函数,下面有函数的定义            hideIputKeyboard(context);        }        @Override        public void onPageScrollStateChanged(int state) {        }    });
2 0
原创粉丝点击