我的ListView底部有一个EditText。当我点击EditText时,软键盘会按预期弹出,同时listview会向上滑动,将EditText放在键盘上方。但是,一旦我开始输入,ListView会向下滑动,EditText现在位于软键盘后面,阻碍了输入的视图。我仍然能够输入,但是软键盘覆盖了EditText。
如何将EditText保持在键盘上方?
PS。我正在使用adjustPan
编辑:这是一个链接到某人遇到我遇到的同样问题,但我没有看到解决方案: http://developer.samsung.com/forum/thread/issue-while-entering-the-data-in-a-list-with-edit-texts/202/244386?boardName=General&startId=zzzzz~
答案 0 :(得分:0)
试试这个
清单文件中的更改
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();
}
}
});
或者您可以查看
TreeObserver 和 GlobalLayoutListener
希望这会对你有所帮助。
答案 1 :(得分:0)
好的,所以这个问题只出现在三星设备上。我想这是他们的touchwiz界面的问题。我无法找到真正的修复,但我通过在ListView中的最后一个EditText下面添加一个空白textview来解决这个问题。空白TextView必须足够高,以允许EditText跳转高于软键盘。这是一种解决方法,但它适用于我的应用程序。