我有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 举报,一经查实,本站将立刻删除。