微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android-如何隐藏ViewPager页面更改上的键盘?

我有ViewPager,它显示了片段,其中之一包含edittext.当用户单击edittext,然后滑动到另一页时,键盘将隐藏屏幕的一半.更改页面后如何隐藏键盘?我尝试过类似的方法,但是不起作用:

mFragmentsViewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
        @Override
        public Fragment getItem(int position) {
            InputMethodManager inputManager = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
            inputManager.hideSoftInputFromWindow(floatingActionButton.getwindowToken(), 0);
            switch (position){
                case 0:
                    return mFragments.get(0);
                case 1:
                    return mFragments.get(1);
                case 2:
                    return mFragments.get(2);
                default:
                    return mFragments.get(0);
            }
        }
        @Override
        public int getCount() {
            return 3;
        }
    });

谢谢大家提前回答!

解决方法:

我建议您将一个OnPagechangelistener类型的侦听器添加到ViewPager上,并在onPageSelected方法添加代码,而不是让适配器来照顾键盘

mFragmentsViewPager.addOnPagechangelistener(new ViewPager.OnPagechangelistener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

            }

            @Override
            public void onPageSelected(int position) {

                InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(getwindow().getCurrentFocus().getwindowToken(), 0);

            }

            @Override
            public void onPageScrollStateChanged(int state) {

            }
        });
    }

希望这会有所帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐