2010-04-18 27 views
16

Veritabanından kayıtlarla doldurulmuş bir liste görünümü var. Şimdi bazı kayıtların görünür olmasına karşın seçim için kullanılamam gerekiyor, bunu nasıl başarabilirim?Liste Görünümü'nde öğeler nasıl devre dışı bırakılır?

burada şöyle

public class SomeClass extends ListActivity { 
    private static List<String> products; 
    private DataHelper dh; 
    public void onCreate(Bundle savedInstanceState) { 
     dh = new DataHelper(this); 
     products = dh.GetMyProducts(); /* Returns a List<String>*/ 
     super.onCreate(savedInstanceState); 
     setListAdapter(new ArrayAdapter<String>(this, R.layout.myproducts, products)); 
     ListView lv = getListView(); 
     lv.setTextFilterEnabled(true); 
     lv.setOnItemClickListener(new OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
       // TODO Auto-generated method stub 
       Toast.makeText(getApplicationContext(), ((TextView) arg1).getText(), Toast.LENGTH_SHORT).show(); 
      } 
     }); 
    } 
} 

düzen dosya myproducts.xml benim kod:

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:padding="10dp" 
    android:textSize="16sp"> 
</TextView> 

cevap

31

gerçek dönmek için isEnabled(int position)AreAllItemsEnabled() dönüş yanlış vardır ArrayAdapter kendi alt sınıfı olun ve tanımlamak/Veri kümenizdeki belirli bir öğe için yanlış.

+13

Bu çözüme dikkat edin. BaseAdapter belgelerine, "Belirtilen konumdaki öğe ayırıcı değilse true döndürür." Bu, false değerini döndürdüğünüzde öğenin bir ayırıcı öğe olduğu anlamına gelir. Bazı telefonlar android: normal öğe ve ayırıcı bir öğe arasındaki bölücü çizmeyebilir. – Janusz

+2

Bu kesinlikle doğru ve daha önce bu konuya girdim; Satır düzeninin kendisinde bir ayırıcı ekledim veya getView() 'da gösterdim/gizledim veya öğeleri etkin bıraktı, ancak üzerlerinde tıklamaları yok saydı ve görünmeyen bir arka plan oluşturdu. tıklanabilir. –

+0

Listenizde bölümlerin olması için "Başlık" bölücülerinin yerleştirilmesi harika! – htafoya

İlgili konular