|
Lớp List có 2 hàm khởi tạo được định nghĩa như sau:
public List(String title, int listType)
và
public List(String title, int listType, String[] stringElements, Image[] imageElements)
Bạn chú ý listType là kiểu của List, có các giá trị là Choice.MULTIPLE, Choice.EXCLUSIVE và Choice.IMPLICIT. Chúng ta sẽ tiếp tục sử dụng dự án trong bài trước bằng cách thay đổi mã nguồn tập tin ListDemo.java. Một danh sách cho phép người dùng chọn nhiều tuỳ chọn cùng lúc sẽ được khởi tạo bằng tuỳ chọn Choice.MULTIPLE. Khi hiển thị danh sách với nhiều tuỳ chọn cùng lúc, điện thoại thường sẽ hiển thị một hộp hình vuông và những tuỳ chọn được lựa sẽ có một dấu hiệu cho biết đã được lựa chọn. Trong hình sau thì Nokia và Motorola được chọn. 
Bài tập 1: Sửa lại chương trình ListDemo.java, viết chương trình thăm dò người dùng với câu hỏi “Bạn đã từng sử dụng dịch vụ của nhà cung cấp nào?” với 4 sự lựa chọn có thể cùng lúc là MobiFone, VinaFone, Viettel, Sfone. Câu trả lời của người dùng sẽ được hiển thị dùng lớp Alert (Bạn xem lại Chip M số 43 và 44 để biết cách dùng lớp Alert).
Đôi khi một danh sách có nhiều sự lựa chọn nhưng chỉ một lựa chọn có thể được chọn tại một thời điểm, và các tuỳ chọn này được gọi là loại trừ lẫn nhau. Để tạo được kiểu danh sách này, bạn hãy dùng kiểu Choice.EXCLUSIVE khi khởi tạo lớp List. Thường thì điện thoại thật hiển thị mỗi tuỳ chọn trong trường hợp này bằng vòng tròn như trong hình sau (chú ý lựa chọn hiện thời là từ 20 đến 29) 
Bài tập 2: Sử dụng Choice.EXCLUSIVE để tạo bản thăm dò người dùng về độ tuổi sử dụng điện thoại với câu hỏi “Bạn đang trong độ tuổi nào?” với các tuỳ chọn trả lời là Dưới 10, Từ 10 đến 19, Từ 20 đến 29, Từ 30 đến 39, Từ 40 đến 49, Từ 50 trở lên. Kết quả thăm dò cũng được hiển thị thông qua lớp Alert.
Chú ý trong phương thức khởi tạo thứ hai ở trên (có 4 tham số truyền vào) thì tham số thứ 3 là mảng các giá trị sẽ hiển thị, còn tham số thứ 4 là mảng các hình ảnh nếu có. Nếu dùng hàm khởi tạo thứ hai này thì chương trình sẽ ngắn hơn và không cần dùng các phương thức append() và insert() như trong ví dụ của bài trước. Mảng stringElements phải là một mảng không null và mỗi phần tử cũng không được null. Chiều dài của mảng stringElements cho biết số phần tử trong danh sách List. Mảng imageElements có thể là null và mang ý nghĩa là các phần tử của danh sách không có hình ảnh. Nếu mảng imageElements không null thì kích thước của nó phải bằng đúng với kích thước của mảng stringElements.
Bài tập 3: sử lại bài tập 1 và bài tập 2 ở trên sao cho không dùng phương thức append() và insert() bằng cách dùng phương thức khởi tạo thứ hai ở trên.
Tóm tắtTrong bài này các bạn đã làm quen với 2 kiểu List thông dụng nhất là Choice.MULTIPLE và Choice.EXCLUSIVE thông qua các bài tập đơn giản. Trong bài sau tôi sẽ tiếp tục trình bày kiểu thứ 3 là Choice.IMPLICIT và giới thiệu cách xử lý lệnh trong MIDP. [Bài tiếp theo] Nguyễn Ngọc Minh minhnn – www.JavaVietnam.org
|