java - ListView中的EditText在输入到行末自动换行的时候总是失去焦点
PHPz
PHPz 2017-04-18 10:31:30
0
2
711

Situation:
LiveView中的Item都是一个自定义的View,其中有一个EditText控件用于输入文字。现在输入的过程中一旦到了一行的末尾自动换行的时候,焦点就失去了,要重新点击该EditText控件才可以继续输入。

为什么会这样,是因为listview重新绘制了嘛?怎么解决。。

PHPz
PHPz

学习是最好的投资!

모든 응답(2)
小葫芦

목록 보기가 다시 그려졌고 전체 프로세스가 세 번 다시 그려졌습니다. edittext 소프트 키보드를 클릭하면 목록 보기가 압축되어 줄 바꿈이 발생하는 것은 이번이 처음입니다. 편집 텍스트의 높이가 변경되어 항목의 높이가 추가로 변경됩니다. 다시 그려야 합니다. 두 번째로 다시 그리면 편집 텍스트가 숨겨지고 목록 보기가 표시됩니다. 확장되고 세 번째 다시 그리기가 수행됩니다. 그렇다면 이미 해결책을 알고 계시나요? 포커스를 잃어서 발생하므로 다시 포커스를 얻어 마지막 작업의 edittext를 기록하고 어댑터의 getView 메소드에서 판단합니다. 이 edittext라면 requestFocus입니다.

刘奇

ListView를 스크롤하면 LayoutChildren이 다시 표시되고 결국 EditText가 입력 포커스를 잃게 됩니다.
EditText는 ListView에 적응하지 않으므로 RecyclerView로 변경하는 것이 좋습니다...

p.s. 앱 마켓에는 다음과 같이 설계된 앱이 거의 없습니다. ListView에 EditText를 넣으세요...

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿