Pendengar Perubahan Teks dalam Android: Mengendalikan Pengecualian Bersama
Dalam pembangunan aplikasi Android, menghadapi situasi di mana anda perlu memastikan bahawa hanya satu daripada pelbagai medan mengandungi kandungan boleh timbul. Untuk mencapai matlamat ini, Pendengar Perubahan Teks memainkan peranan yang penting.
Pertimbangkan senario di mana anda mempunyai dua medan teks, medan1 dan medan2. Selepas mengubah suai medan1, anda ingin mengosongkan medan2, dan sebaliknya. Matlamatnya adalah untuk menjamin bahawa hanya satu medan yang mempunyai kandungan pada bila-bila masa.
Coretan kod yang disediakan menggunakan TextWatcher untuk menangani keperluan ini. Walau bagaimanapun, melampirkan TextWatchers pada kedua-dua medan mencetuskan gelung tak terhingga, mengakibatkan ranap aplikasi:
field1.addTextChangedListener(new TextWatcher() { public void onTextChanged(CharSequence s, int start, int before, int count) { field2.setText(""); } }); field2.addTextChangedListener(new TextWatcher() { public void onTextChanged(CharSequence s, int start, int before, int count) { field1.setText(""); } });
Untuk menyelesaikan isu ini, penyelesaian mudah melibatkan menyemak sama ada teks medan itu tidak kosong (iaitu, panjangnya adalah lebih besar daripada sifar) sebelum mengosongkannya:
field1.addTextChangedListener(new TextWatcher() { public void onTextChanged(CharSequence s, int start, int before, int count) { if (s.length() != 0) { field2.setText(""); } } }); field2.addTextChangedListener(new TextWatcher() { public void onTextChanged(CharSequence s, int start, int before, int count) { if (s.length() != 0) { field1.setText(""); } } });
Pengubahsuaian ini memastikan bahawa teks dalam medan bertentangan dikosongkan hanya jika ia mengandungi kandungan yang tidak kosong. Dengan menggunakan pendekatan ini, gelung tak terhingga dihapuskan dan kefungsian yang dimaksudkan dicapai.
Penting untuk mematuhi konvensyen penamaan dan merujuk kepada TextWatcher sebagai TextWatcher dan bukan "Pendengar Perubahan Teks. " Istilah yang konsisten ini meningkatkan kebolehbacaan kod dan memudahkan pemahamannya oleh pembangun lain.
Atas ialah kandungan terperinci Bagaimana untuk Mencegah Gelung Infinite Apabila Melaksanakan Pengecualian Bersama dengan Pendengar Perubahan Teks dalam Android?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!