【问题标题】:Edittext at the bottom of a listview is hidden by softkeyboard列表视图底部的 Edittext 被软键盘隐藏
【发布时间】:2013-10-18 05:14:20
【问题描述】:

我的 ListView 底部有一个 EditText。当我点击 EditText 时,软键盘按预期弹出,而列表视图向上滑动,将 EditText 放置在键盘上方。但是,一旦我开始打字,ListView 就会滑下来,EditText 现在位于软键盘后面,挡住了打字的视线。我仍然可以打字,但 EditText 被软键盘覆盖。

如何保持 EditText 在键盘上方可见?

PS。我正在使用调整盘

编辑:这是一个与我面临同样问题的人的链接,但我没有看到解决方案: http://developer.samsung.com/forum/thread/issue-while-entering-the-data-in-a-list-with-edit-texts/202/244386?boardName=General&startId=zzzzz~

【问题讨论】:

  • edittext 是列表视图中的最后一项,还是独立视图??
  • 您是否尝试过在清单文件中使用adjustResize
  • 您可以发布您的屏幕截图吗?您是想说在软键盘打开时edittext 正在隐藏吗?
  • 包含 EditText 的视图是列表视图中的最后一个视图

标签: android listview android-edittext


【解决方案1】:

这样试试

Manifest 文件中的更改

android:windowSoftInputMode="adjustResize" 

有时你点击 EditText,键盘没有弹出,所以要明确弹出键盘使用这个

 editText.setOnClickListener(new OnClickListener() {

                public void onClick(View v) {
                    InputMethodManager m = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                    if (m != null) {
                        m.toggleSoftInput(0, InputMethodManager.SHOW_IMPLICIT);
                        editText.requestFocus();
                    }
                }
            });

或者你可以去看看

TreeObserverGlobalLayoutListener

希望这会对你有所帮助。

【讨论】:

  • 因为它在 ListView 中,所以 EditText 并不总是在屏幕上。我在哪里设置监听器?在 OnCreate 期间,还没有显示 EditText。
【解决方案2】:

好的,所以这个问题只出现在三星设备上。我想这是他们的 touchwiz 界面的问题。我无法找到真正的解决方法,但我通过在 ListView 的最后一个 EditText 下添加一个空白文本视图来解决这个问题。空白的 TextView 必须足够高以允许 EditText 跳得高于软键盘。这是一种解决方法,但它适用于我的应用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-14
    • 1970-01-01
    • 2020-09-15
    • 1970-01-01
    • 2014-12-13
    相关资源
    最近更新 更多