2008-12-26 18 views
6

¿Puede alguien darme un ejemplo simple sobre cómo agregar tres filas a ListField para que la lista muestre algo como esto?BlackBerry - Agregar elementos a un ListField

artículo 1

artículo 2

artículo 3

sólo quiero mostrar una lista en la que el usuario puede seleccionar uno de los artículos y el programa haría algo dependiendo del elemento seleccionado .

He buscado en Internet pero parece imposible encontrar un ejemplo simple sobre cómo hacerlo (la mayoría de los ejemplos que encontré están incompletos) y la documentación de Blackberry es terrible.

Gracias!

Respuesta

11

Es probable que desee utilizar un ObjectListField. El manejo de la acción de selección se realiza a través del objeto de pantalla que lo contiene, he hecho esto a continuación utilizando un elemento de menú, no estoy seguro de cómo configurar un oyente de selección predeterminado, es posible que tenga que detectar eventos de tecla y rueda de desplazamiento.

un código de ejemplo para usted: (no probado!)

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

Puede detectar el clic en cada elemento de la lista reemplazando

protected boolean navigationClick(int status,int time) 

Entonces sólo tiene que resolver qué hacer en respuesta al clic. La forma en que lo hice fue mediante el uso de una clase anónima, establecida para cada elemento de la lista.

2

Puede reemplazar el método navigationClick así:

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 
Cuestiones relacionadas