2008-12-26 38 views
6

Có thể ai đó xin vui lòng cho tôi một ví dụ đơn giản về cách thêm ba hàng vào một ListField sao cho danh sách hiển thị một cái gì đó như thế này?BlackBerry - Thêm các mục vào một ListField

khoản 1

khoản 2

Khoản 3

Tôi chỉ muốn hiển thị một danh sách trong đó người dùng có thể chọn một trong các mục và chương trình sẽ làm điều gì đó tùy thuộc vào mục đã chọn .

Tôi đã tìm kiếm trên internet nhưng có vẻ như không thể tìm thấy một ví dụ đơn giản về cách thực hiện điều này (hầu hết các ví dụ tôi tìm thấy không đầy đủ) và tài liệu blackberry là khủng khiếp.

Cảm ơn!

Trả lời

11

Bạn có thể muốn xem xét sử dụng ObjectListField. Xử lý hành động chọn được thực hiện thông qua đối tượng Screen chứa, tôi đã làm điều này dưới đây bằng cách sử dụng một MenuItem, tôi không thực sự chắc chắn làm thế nào để thiết lập một người nghe chọn mặc định, bạn có thể phải phát hiện các sự kiện quan trọng và trackwheel.

Một số mã ví dụ cho bạn: (không kiểm tra!)

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

Bạn có thể phát hiện các nhấp chuột trên mỗi mục trong danh sách bằng cách ghi đè

protected boolean navigationClick(int status,int time) 

Sau đó, bạn chỉ cần tìm ra những việc cần làm để phản hồi lại nhấp chuột. Cách tôi đã làm điều này là bằng cách sử dụng một lớp vô danh, thiết lập cho mỗi mục danh sách.

2

Bạn có thể ghi đè lên các phương pháp navigationClick như thế này:

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 
Các vấn đề liên quan