2008-12-26 10 views
6

Kann mir bitte jemand ein einfaches Beispiel geben, wie man einem ListField drei Zeilen hinzufügt, damit die Liste so aussieht?BlackBerry - Hinzufügen von Elementen zu einem ListField

Artikel 1

Artikel 2

Artikel 3

Ich möchte nur eine Liste anzeigen, in dem der Benutzer eines der Elemente auswählen und das Programm würde ausgewählt etwas tun, je nach Artikel .

Ich habe überall im Internet gesucht, aber es scheint unmöglich, ein einfaches Beispiel zu finden, wie man das macht (die meisten Beispiele, die ich gefunden habe, sind unvollständig) und die Blackberry-Dokumentation ist schrecklich.

Danke!

Antwort

11

Sie möchten wahrscheinlich ein ObjectListField verwenden. Die Auswahl der Aktion erfolgt über das enthaltene Screen-Objekt. Ich habe dies mit einem MenuItem getan. Ich bin mir nicht sicher, wie ich einen standardmäßigen Select-Listener einstellen soll. Eventuell müssen Sie Key- und Trackwheel-Events erkennen.

Einigen Beispiel-Code für Sie: (nicht getestet!)

MainScreen screen = new MainScreen(); 
screen.setTitle("my test"); 

final ObjectListField list = new ObjectLIstField(); 
String[] items = new String[] { "Item 1", "Item 2", "Item 3" }; 
list.set(items); 

screen.addMenuItem(new MenuItem("Select", 100, 1) { 
    public void run() { 
     int selectedIndex = list.getSelectedIndex(); 
     String item = (String)list.get(selectedIndex); 
     // Do someting with item 
    }); 
screen.add(list); 
0

Sie das Klicken durch zwingende

auf jedem Listeneintrag
protected boolean navigationClick(int status,int time) 

Dann müssen Sie nur herausfinden, was zu tun erkennen können als Antwort auf den Klick. Die Art und Weise, wie ich das getan habe, bestand darin, eine anonyme Klasse zu verwenden, die für jeden Listeneintrag festgelegt wurde.

2

Sie können die navigationClick Methode wie folgt außer Kraft setzen:

ObjectListField list = new ObjectListField() 
{ 
    protected boolean navigationClick(int status, int time) 
    { 
     // Your implementation here. 
    } 
}; 
0
private ListField fList = new ListField(){ 
     protected boolean navigationClick(int status, int time) { 
      System.out.println("omt Click"); 
      return true; 
     }; 
    }; 
1
final class SimpleListScreen extends MainScreen 
{ 
    public SimpleListScreen() 
    { 
     super(Manager.NO_VERTICAL_SCROLL); 

     setTitle("Simple List Demo"); 

     add(new LabelField("My list", LabelField.FIELD_HCENTER)); 
     add(new SeparatorField()); 

     Manager mainManager = getMainManager(); 

     SimpleList listField = new SimpleList(mainManager); 

     listField.add("Item 1"); 
     listField.add("Item 2"); 
     listField.add("Item 3"); 
     } 
    } 

    //add listener so that when an item is chosen,it will do something