Dialog trong Android
Dialog trong Android
Dialog trong Android là một thành phần bạn sẽ thường gặp trên các ứng dụng này. Vậy Dialog trong Android được dùng để làm gì?
Để tìm hiểu chi tiết về Dialog, mời bạn hãy cùng theo dõi bài viết dưới đây của R2S nhé!
Dialog trong Android
Dialog trong Android là một cửa sổ nhỏ được sử dụng để nhắc nhở người dùng đưa ra quyết định hoặc nhập thông tin.
Nếu bạn muốn hỏi người dùng về quyết định giữa có hoặc không để phản hồi bất kỳ hành động cụ thể nào mà người dùng thực hiện, mà vẫn giữ hoạt động và không thay đổi màn hình, thì bạn có thể sử dụng hộp thoại cảnh báo (Alert Dialog) trong ứng dụng của mình.
Trong một số trường hợp ứng dụng của bạn cho phép người dùng lựa chọn một hoặc nhiều tùy chọn, thì bạn có thể sử dụng hộp thoại danh sách (List Dialog) để hiển thị danh sách các tùy chọn đó cho người dùng chọn.
Alert Dialog là gì?
Bạn cần tạo một đối tượng của lớp AlertDialog.Builder để hiển thị hộp thoại cảnh báo (Alert Dialog) theo câu lệnh sau
AlertDialog.Builder b = new AlertDialog.Builder(this);
Sau đó, bạn có thể thiết lập các nút đồng ý (ok) hoặc không đồng ý (cancel) bằng cách sử dụng đối tượng builder đã tạo.
//Nút đồng ý
b.setPositiveButton(String caption, listener);
//Nút không đồng ý
b.setNegativeButton(String caption, listener);
Một số phương thức thường dùng với Alert Dialog
Một số phương thức thường dùng với Alert Dialog là:
- setIcon(Drawable icon) – Phương thức này thiết lập biểu tượng cho AlertDialog.
- setTitle(String title) – Phương thức này thiết lập tiêu đề cho AlertDialog.
- setMessage – Phương thức này thiết lập nội dung thông báo cho AlertDialog.
Ví dụ về tạo AlertDialog trong Android
//Tạo đối tượng
AlertDialog.Builder b = new AlertDialog.Builder(this);
//Thiết lập tiêu đề
b.setTitle("Xác nhận");
b.setMessage("Bạn có đồng ý thoát chương trình không?");
// Nút Ok
b.setPositiveButton("Đồng ý", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
finish();
}
});
//Nút Cancel
b.setNegativeButton("Không đồng ý", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
//Tạo dialog
AlertDialog al = b.create();
//Hiển thị
al.show();
Dialog trong Android – List Dialog là gì?
Để hiển thị một danh sách các tùy chọn trong hộp thoại (dialog), có thể sử dụng List Dialog. Trong Android, có 3 loại List Dialog được hỗ trợ, bao gồm:
- Single-choice list: danh sách chỉ cho phép chọn một tùy chọn duy nhất.
- Single-choice list (radio buttons): danh sách chỉ cho phép chọn một tùy chọn duy nhất, được hiển thị bằng nút radio.
- Multiple-choice list (checkboxes): danh sách cho phép chọn nhiều tùy chọn, được hiển thị bằng nút tick (checkboxes).
Cú pháp tạo single-choice list
//Items
String[] items = {"Rajesh", "Mahesh", "Vijayakumar"};
AlertDialog.Builder b = new AlertDialog.Builder(getActivity());
//Thiết lập title
b.setTitle("Make your selection");
//Thiết lập item
b.setItems(items, new DialogInterface.OnClickListener() {
//Xử lý sự kiện
public void onClick(DialogInterface dialog, int which) {
}
});
//Hiển thị dialog
b.show();
Tạo single-choice list (radio buttons)
//Items
String[] datas = {"Male", "Female"};
AlertDialog.Builder b = new AlertDialog.Builder(this);
b.setSingleChoiceItems(datas, 0, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
b.show();
Cú pháp tạo multiple-choice list (checkboxes)
String[] datas = {"Football", "Travel", "Fashion"};
ArrayList al = new ArrayList();
AlertDialog.Builder b = new AlertDialog.Builder(getActivity());
b.setMultiChoiceItems(datas, null,new DialogInterface.OnMultiChoiceClickListener(){
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
//Nếu người dùng chọn
if (isChecked) {
//Thêm người dùng người dùng chọn vào ArrayList
al.add(datas[which]);
}
}
});
b.show();
Dialog Toast
Toast là một công cụ có thể được sử dụng để hiển thị thông tin trong một khoảng thời gian ngắn. Nó chứa một thông báo được hiển thị ngay lập tức và tự động biến mất sau một khoảng thời gian ngắn.
Câu lệnh tạo Dialog Toast trong Android
Toast.makeText(getApplicationContext(), String text, int duration)
Trong đó duration hoặc là LENGTH_LONG hoặc là LENGTH_SHORT
Dialog trong Android – Bài tập thực hành
Người dùng sau khi nhập tên, tuổi, chọn giới tính, sở thích và chọn “CREATE”. Sau đó, ứng dụng sẽ lưu thông tin vào tập tin txt.
Khi chọn “CHOOSE GENDER”, kết quả sau khi chọn sẽ hiển thị tại “Gender”
Khi chọn “CHOOSE HOBBY”, kết quả sau khi chọn sẽ hiển thị tại “Hobby” như sau:
Lưu ý
- Lưu ý trong việc yêu cầu nhập họ tên và tuổi của người dùng. Nếu người dùng không nhập, ứng dụng cần hiển thị thông báo phù hợp và đặt con trỏ vào ô chưa được nhập.
- Lưu ý rằng chỉ được nhập số cho trường tuổi.
- Khi người dùng chọn “CLOSE”, ứng dụng sẽ hiển thị một hộp thoại xác nhận. Nếu người dùng chọn “OK”, ứng dụng sẽ đóng. Nếu chọn “CANCEL”, hộp thoại xác nhận sẽ biến mất.
Kết luận
Dialog trong Android là một trong những thành phần quan trọng nên người học lập trình cần phải hiểu rõ và sử dụng, lựa chọn loại dialog sao cho phù hợp. Chúc bạn học lập trình vui và đừng bỏ lỡ những bài học tiếp theo về lập trình Android của R2S nhé.
Bài viết gốc được đăng tại: giasutinhoc.vn