繁体   English   中英

Android:键盘解雇导致滚动到底部

[英]Android: Keyboard dismissal results in scrolling to the bottom

我正在使用ViewPager在我的应用程序中将两个片段显示为页面。 在第1页中,有EditText字段。 当我滚动到Page2(或选择Tab2)时,我想以编程方式关闭与任何这些文本字段相关联的键盘(在第1页中)。 我为此编写了以下代码:

mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {


        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            View currentView = getCurrentFocus();
            if (currentView != null) {

                InputMethodManager imm = (InputMethodManager)  currentView.getContext().getSystemService(Activity.INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(currentView.getWindowToken(), 0);
            }

        } });

如果键盘在第1页中可见,则点击第二个选项卡将导致显示为“向下滚动”状态。 这使得工具栏在状态栏上升,使得工具栏标题几乎不可读。 请查看下面的屏幕截图(第一张图片是第1页,第二张是Page2):

第1页 第2页

如何纠正这个?

试试这个有效

 editText.setOnEditorActionListener(new TextView.OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { switch ((actionId)) { case EditorInfo.IME_NULL:break; } return false; } }); 

并调用editText.onEditorAction(EditorInfo.IME_NULL);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM