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

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

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

PHPz
PHPz

学习是最好的投资!

répondre à tous(2)
小葫芦

La vue de liste a été redessinée et l'ensemble du processus a été redessiné trois fois. Cliquer sur le clavier logiciel d'édition du texte apparaît, ce qui provoque la compression de la vue de liste. C'est la première fois qu'il y a trop de contenu de texte d'édition, ce qui provoque des sauts de ligne. provoque une modification de la hauteur du texte d'édition, ce qui entraîne une modification supplémentaire de la hauteur de l'élément, il doit donc être redessiné. C'est la deuxième fois que le redessinage fera perdre le focus au texte d'édition, le clavier logiciel est masqué, la vue de liste est développée, et le troisième redessinage est effectué. Alors, connaissez-vous déjà la solution ? Comme cela est dû à une perte de focus, récupérez le focus, enregistrez le texte d'édition de la dernière opération et jugez-le dans la méthode getView de l'adaptateur. S'il s'agit de ce texte d'édition, requestFocus.

刘奇

Le défilement de ListView l'invite à re-LayoutChildren et fait finalement perdre le focus de saisie à EditText.
Étant donné qu'EditText ne s'adaptera pas à ListView, il est recommandé de passer à RecyclerView...

ps. Il existe peu d'applications sur le marché des applications qui sont conçues comme ceci : mettez un EditText dans ListView...

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal