BlackBerry - arama ölçütleriyle birlikte onay kutusu listesi

oy
2

Ben kullanıcı aynı anda birden çok öğe seçebilir onay kutuları ile verilerin listesini görüntülemek çalışıyorum ... Ben Listede arayacaktır listenin başında bir arama alanını istiyorum ...

Nasıl yaparım?

Oluştur 22/07/2009 saat 07:48
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
4

açıklama

Öncelikle, tüm liste alanları ile bir vektör oluşturmak, böylece istediğiniz zaman ekranda ekleyip bunları kaldırmak mümkün olacak. Ekrana oluştururken, kontrol listelemek için hepsini birden ekleyin.

Arama alanının - Şimdi, bu EditFields birine sahip varsayalım. Bunun için bir dinleyici ayarlayın ve metin değişikliği olayı yakalayabilirsiniz.

durumunda sitesinde, liste denetimden tüm alanları kaldırabilirsiniz arama alanından metin değeri almak, tüm alanlar vektör yineleme ve kontrol listelemek için arama kriterleri karşılayan olanları ekleyin.

kod

LookupList kontrolü:

public class LookupList extends VerticalFieldManager {

    Vector mItems = null;

    public LookupList() {
        super();
        mItems = new Vector();
    }

    public void addItem(Field itemField) {
        String cookie = (String) itemField.getCookie();
        if (null == cookie)
            throw new IllegalArgumentException(
                    "String cookie must be set to lookupList field");
        mItems.addElement(itemField);
        add(itemField);
    }

    public void removeItem(int index) {
        Field itemField = (Field) mItems.elementAt(index);
        mItems.removeElement(itemField);
        delete(itemField);
    }

    public void lookup(String searchValue) {
        deleteAll();
        for (int i = 0, count = mItems.size(); i < count; i++) {
            Field field = (Field) mItems.elementAt(i);
            String cookie = (String) field.getCookie();
            if (cookie.startsWith(searchValue))
                add(field);
        }
    }
}

Kullanım örneği:

class Scr extends MainScreen implements FieldChangeListener {
    LookupList mList = null;
    BasicEditField mEdit = null;

    public Scr() {
        super();

        mEdit = new BasicEditField();
        add(mEdit);

        mEdit.setChangeListener(this);

        mList = new LookupList();
        for (int i = 0; i < 100; i++) {
            LabelField label = new LabelField("Lookup field #"
                    + String.valueOf(i));
            label.setCookie(String.valueOf(i));
            mList.addItem(label);
        }

        add(mList);
    }

    public void fieldChanged(Field field, int context) {
        if (field == mEdit)
            mList.lookup(mEdit.getText());
    }
}

PS

  • (Düzen / Etiket / CustomCheckBos vs) listelemek için herhangi Saha descendend sınıfını ekleyebilirsiniz, ancak arama yapmak değere sahip bir dize çerez olmalıdır.
  • Field etiketi, metin veya özel mülkiyet göre arama mantığı değiştirebilirsiniz.
Cevap 22/07/2009 saat 08:02
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more