2014-05-14 28 views
5

Uygulamamda bir AutoCompleteTextView var ve her zamanki metin görünümü tarafından alınan sonuçların kaydırılmaya yetecek sayıda olup olmadığını her zaman göstermek için dikey kaydırma çubuğunu zorlamakla görevlendirildim (yani bir kerede daha sığabilecek daha fazla sonuç var) otomatik olarak oluşturulan liste görünümünde).AutoCompleteTextView sonuçlarının kaymasını sağlayıp sağlayamayacağını göstermek için dikey kaydırma çubuğu nasıl zorlanır?

fadeScrollbars="false" 
scrollbarFadeDuration="0" 
scrollbarAlwaysDrawVertical="true" 

ben bir şekilde AutoCompleteTextView ve bir uygulamak için otomatik olarak oluşturulan liste görünümü başvurusu elde eğer düşünüyorum: Ben şu xml ekleyerek denedim

boşuna AutoCompleteTextView kendisine bağlıyor Yukarıdaki özelliklerin ya da daha fazlasının, kaydırma çubuğunu her zaman göstermeye zorlayabileceğimi ancak bu liste görünümüne nasıl başvurulacağımı bilmiyorum.

sayesinde Geçersiz kılınan GetView() yönteminde bu AutoCompleteTextView için oluşturulan Adaptör, içinde

UPDATE

, bir üst görünümde bir referans vardır. Bu özniteliklerin üstesinden programlı olarak üstünü kurabilirim ve istediğim işlevsellik elde edebilirim, bu dezavantajlar, getView'ın her seferinde en verimli olanı olarak adlandırılan bu özniteliklerin ayarlanmasıdır.

+0

Herhangi başka güncellemeler bu konuda? Aynı sorunla karşı karşıyayım, getView çözümünüzün çalıştığını doğrulayabilirim. – chris

cevap

3

Stilleri denedim ancak düzgün çalışmıyorlar, bu nedenle kodlanmış biçiminiz tek olasılık gibi görünüyor. Ama grup her zaman verilir, bu nedenle sadece bunun için bir boolean ekleyebilirsiniz:

public View getView(int position, View convertView, ViewGroup parent) { 
     //Change the list attr programmatically becuase sometimes Android sucks :/ 
     if (!_changedListAttr) { 
      _changedListAttr = true; 

      ListView list = (ListView) parent; 
      list.setBackgroundResource(R.color.color_white); 
      list.setVerticalScrollBarEnabled(false); 
      list.setDividerHeight(0); 
     } 
+0

Bu çözümdeki sorun, açılır menü (dd) ilk kez göründüğünde çalıştığıdır. Harfleri silip tekrar yazdığınızda, ikinci kez artık çalışmaz. Öğeleri Bağdaştırıcıya eklediğinizde, boolean'ı false olarak ayarlamak bir geçici çözüm olacaktır, ancak daha sonra, yalnızca dd yeniden oluşturulduğunda çalışır. Bu, harf sayısının dd'nin görünmesine neden olan eşiğin altında olması durumudur. – Bevor