列表视图在编辑文本增长时滚动到顶部
我在每个细胞中都有一个。每当我将文本添加到增长1行的点时,滚动到顶部(并且通常通过这样做从视图中删除)。Listview
EditTexts
EditText
ListView
EditText
我发现了一些关于这个问题的问题,但他们似乎只有“黑客”作为答案,没有对我有用的东西。
ListView 在多行 EditText 中键入内容时滚动到顶部
编辑:经过大量研究,我发现这是因为editText正在调整大小,导致ListView布局其子视图,然后重置为顶部。我想找到一种方法,让EditText在停留在同一个地方的同时成长。
我尝试了这个,因为我在网上找到一个建议,但是,即使它保持在正确的高度,它也清除了焦点,我似乎无法用.ListView
EditText
requestFocus
private Stirng getTextWatcher(){
return new TextWatcher(){
@Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override public void onTextChanged(CharSequence s, int start, int before, int count) { }
@Override public void afterTextChanged(Editable s) {
listView.setSelection(index);
}
}
}
所以我需要的是:
有一种方法可以在子视图再次布局时不自动滚动到顶部,或者
ListView
一种在打电话或3后集中注意力的方法。有另一种方法可以滚动,不会从 中清除焦点。
EditText
ListView.setSelected()
ListView
EditText
对于选项
- 我试过了 和 . 由于某种原因工作,但隐藏某些项目(它们变得不可见,未加载)。并创建一个动画,其中跳转到顶部,然后将用户带回 Item(并执行 2 或 3 次)。
scrollTo()
smoothScrollToPosition()
scrollTo
ListView
smoothScrollToPosition()
ListView