2013-08-09 17 views
5

Bu sorun bir süredir beni rahatsız ediyor. Liste görünümü var ve her satırda kullanıcının veri girebileceği üç EditText var. Kullanıcı bir düzenleme kutusu seçtiğinde, metin seçilmelidir, böylece ilk anahtarı yazdığında, önceki metin kaldırılır.EditText ListView'da olduğunda selectAllOnFocus ile garip davranış

Bu, selectAllOnFocus seçeneğinin true olarak ayarlanmasıyla mükemmel bir şekilde çalışır. NotifyDataSetChanged çağırmak zorunda kaldığımda sorun oluşur. Satırı silen ve bağdaştırıcının notifyDataSetChanged yöntemini çağırdığımda her satırda bir düğme vardır. Bundan sonra, kullanıcı bir EditBox seçtiğinde, tüm metni seçmez, ancak imleç metnin sol tarafına ayarlanır ve imlecin altında bir ok görüntülenir.

selectAllOnFocus'u kod içinde ve düzen dosyasında ayarlamayı denedim, ancak şans yok.

Ne denemeliyim? Bir şey mi eksik?

Odaklanma değiştirilen etkinliği devre dışı bırakmaya çalıştım, şans yok.

Teşekkürler!

cevap

0

'da invalidate çağrıldıktan sonra görünüm yeniden şişirildikten sonra adapter.notifyDataSetChanged() yöntemini çağırdığımdan beri bu yana, etrafta dolaşmaya çalışmam gerektiğini düşündüm. Ve bu benim yaptığım sona erdi budur:

adapter.clear();  
adapter = new AdapterOfWhateverItemsTypeIs(this, items); 
listview.setAdapter(adapter); 
adapter.notifyDataSetChanged(); 

Bundan sonra ben EditText ait selectAllOnFocus seçeneğinin beklenen davranış var.

0

Elde etmeye çalıştığınız beklenen davranış nedir?

DÜZENLEME:

Neden elle iki tıklama olayları kapalı ateş deneyin. Onun hafif bir hacky çözümü ama eğer kimin umurunda değil çalışırsa. olaylar kovulduğunu Ne yapabilirsiniz metin seçtiğiniz istediğiniz liste görünümünden bir görünüm elde ve emin kılacak yazı kullanarak bunu

myEdit.post(new Runnable(){ 

    public void run() 
    { 
    myEdit.performClick(); 
    myEdit.performClick(); 
    } 

} 

gibi bir yayında iki tıklama ateşlemesi olduğunu viewview bağdaştırıcınız

+0

Soruyu dikkatli bir şekilde okuyunuz :) Kullanıcı bir EditText seçtiğinde, tüm metin seçilir ve klavye açılır. İstediğim şey bu, ama her zaman böyle çalışmıyor. Bazen kullanıcı farklı bir EditText seçtiğinde (genellikle klavye görünür), tüm metni seçmez (vurgulamaz), ancak kontrolün en sol tarafına odaklanır ve imlecin altında bir ok görüntülenir. –

+0

Üzgünüz, yeterince açık olmasaydım, lütfen bunu geliştirebileceğinizi düşünüyorsanız sorunu düzeltin. Biraz daha ayrıntıya ihtiyacın olursa haberim olsun. Teşekkürler –

+0

Yani imlecin metnin sonuna yerleştirilmesini mi istiyorsunuz? –

İlgili konular