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

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

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

PHPz
PHPz

学习是最好的投资!

membalas semua(2)
小葫芦

Paparan senarai telah dilukis semula, dan keseluruhan proses telah dilukis semula sebanyak tiga kali. Mengklik papan kekunci lembut editteks muncul, yang menyebabkan paparan senarai dimampatkan. Ini adalah kali pertama kandungan suntingan teks menyebabkan ketinggian editteks berubah, yang seterusnya menyebabkan ketinggian item berubah, jadi ia perlu dilukis semula. Ini adalah kali kedua; dan lukisan semula ketiga dilakukan. Jadi, adakah anda sudah tahu penyelesaiannya? Memandangkan ia disebabkan oleh kehilangan fokus, kemudian dapatkan fokus sekali lagi, rekod teks edit operasi terakhir, dan nilaikannya dalam kaedah getView penyesuai Jika ia adalah teks edit ini, requestFocus.

刘奇

Penatalan ListView menggesanya untuk menyusun semula LayoutChildren, dan akhirnya menyebabkan EditText kehilangan fokus input.
Memandangkan EditText tidak akan menyesuaikan diri dengan ListView, adalah disyorkan untuk menukar kepada RecyclerView...

p.s. Terdapat beberapa apl dalam pasaran aplikasi yang direka bentuk seperti ini: Letakkan EditText dalam ListView...

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan