我有自定义项的ListActivity,其中每个项目都有自己的TextEdit。 点击它们中的任何一个都会使IME键盘上升并导致ListView的大小调整。 因此,最近通过tap获得焦点的EditText失去了它。 需要第二次点击才能使其专注或确定。 只有当我移动列表中的1个项目时才会发生这种情况。
有没有办法打开IME,只用一下就能专注于EditText?
答案 0 :(得分:0)
您想要调整列表的大小吗?你可以覆盖ListView.onSizeChanged并使用它而不是“冒泡”到super.onSizeChanged(假设你对错误源的假设是正确的)?
答案 1 :(得分:0)
我通过将抽头的EditText存储在变量中并在延迟后请求对其进行聚焦来解决这个问题。这是一个黑客,但有时Android需要黑客。
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
EditText editText = getListAdapter().tappedEditText;
if (editText != null) {
editText.requestFocus();
}
}
}, 100);