2008-12-26 6 views
6

Quelqu'un peut-il me donner un exemple simple sur la façon d'ajouter trois lignes à un ListField afin que la liste montre quelque chose comme ça?BlackBerry - Ajouter des éléments à un ListField

Point 1

Point 2

Point 3

Je veux juste montrer une liste dans laquelle l'utilisateur peut sélectionner l'un des éléments et le programme ferait quelque chose en fonction de l'élément sélectionné .

J'ai cherché partout sur Internet mais il semble impossible de trouver un exemple simple sur la façon de le faire (la plupart des exemples que j'ai trouvés sont incomplètes) et la documentation blackberry est terrible.

Merci!

Répondre

11

Vous souhaitez probablement utiliser un objet ObjectListField. La manipulation de l'action select se fait à travers l'objet Screen contenant, je l'ai fait ci-dessous en utilisant un MenuItem, je ne sais pas vraiment comment définir un écouteur select par défaut, vous devrez peut-être détecter les événements keywheel.

quelques exemples de code pour vous: (non testé!)

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

Vous pouvez détecter le clic sur chaque élément de la liste en remplaçant

protected boolean navigationClick(int status,int time) 

Ensuite, vous avez juste besoin de travailler sur ce qu'il faut faire en réponse au clic. La façon dont je l'ai fait était en utilisant une classe anonyme, définie pour chaque élément de la liste.

2

Vous pouvez remplacer la méthode navigationClick comme ceci:

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 
Questions connexes