Bài tập 9: Thực hành về Toast Notification và Alert Dialog


Vì trong tất cả các ứng dụng Tôi thấy rằng chúng ta hay sử dụng Toast và Alert Dialog để kiểm tra một điều gì đó, hay đơn giản chỉ là xuất thông báo. Vì vậy bài tập này Tôi sẽ hướng dẫn các bạn làm quen với Toast & Alert Dialog, sau đó các bạn sẽ được thực hành với các control cơ bản và nâng cao.

– Cả Toast và Alert Dialog khi hiển thị lên thì các tiến trình (hay các lệnh) khác  vẫn cứ tiếp tục làm việc.

1) Toast:

– Toast có thể được tạo và hiển thị trong Activity hoặc trong Servive.

– Không cho phép người sử dụng tương tác

– Khi hiển thị sau khoảng thời gian nào đó sẽ tự đóng lại

– Có 2 giá trị mặc định (ta nên sử dụng 2 giá trị này, không nên gõ con số cụ thể vào): hằng số Toast.LENGTH_SHORT hiển thị trong  2 giây, Toast.LENGTH_LONG hiển thị trong 3.5 giây.

Cách tạo Toast:

Toast toast=Toast.makeText(YourActivity.this, “Hiển thị gì thì ghi ở đây”,   Toast.LENGTH_SHORT);
toast.show();

– Khi nào bạn nên sử dụng Toast?

Theo Tôi thì tùy bạn, bạn có thể sử dụng trong trường hợp hiển thông báo trong các mục thiết lập thông số cấu hình, hay đơn giản chỉ là hiển thị lên để xem thông tin tạm thời nào đó (giống như để kiểm tra một vấn đề sảy ra chẳng hạn).

– Hình dưới đây cho bạn biết 1 Toast đang hiển thị:

9_dialog_02) Alert Dialog:

– Hiển thị và cho phép người dùng tương tác, ví dụ bạn nhìn hình Tôi chụp bên dưới, khi nhấn nút “Cancel”, chương trình sẽ hiển thị Alert Dialog hỏi xem có chắc chắn muốn xóa hay không? Bấm No thì không, bấm Yes thì tắt chương trình.

9_dialog_1– Cách tạo Alert Dialog:

AlertDialog.Builder b=new AlertDialog.Builder(YourActivity.this);
b.setTitle(“Question”);
b.setMessage(“Are you sure you want to exit?”);
b.setPositiveButton(“Yes”, new DialogInterface. OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which)
{
finish();
}});b.setNegativeButton(“No”, new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which)

{

dialog.cancel();

}

});

b.create().show();

Ý nghĩa của các hàm :

setTitle : thiết lập tiêu đề cho Dialog

setMessage: Thiết lập nội dung cho Dialog

setIcon : để thiết lập Icon

setPositiveButtonsetNegativeButton thiết lập hiển thị Nút chọn cho Dialog (ở đây bạn không quan tâm Nút chấp nhận hay Nút hủy nó thuộc PositiveButton hay NegativeButton vì đó là tùy thuộc bạn chọn. Chú ý là ở đối số thứ 2 của các hàm này sẽ là DialogInterface. OnClickListener chứ không phải View. OnClickListener

create() để tạo Dialog

show() để hiển thị Dialog.

18 responses

  1. cám ơn thầy bài viết rất hay

    1. cam on ban da share code rat hay

  2. Đọc bài viết của thầy thực sự cảm thấy thích thú khi học android

  3. Những bài giảng của thầy thật sự hữu ích cho các bạn mới học nhe em! Thank a lot

  4. thầy ơi em muốn buộc phải click vào 1 trong 2 nút thì mới thoát được thì phải làm sao ạ. cái alert này khi em bấm ra màn hình là tự động nó mất

  5. Thầy ơi.sao em cũng code mà nó ko chạy được nhỉ? code từ đầu cho đến chỗ thiết lập thông số cho alert nó không làm sao cả.nhưng mà cứ create và show alert thì chương trình lại báo lỗi Unfortunately ,AlertDemo has stopped.Mà trong quá trình học em rất hay bị lỗi đó mà ko biết tại sao.cũng search google nhiều mà ko thấy nói cụ thể về lỗi đó.Mong thầy giải đáp giúp em ak.

    1. Dương Ý Nguyện | Reply

      Bạn viết Toast hay Alert Dialog?
      Bạn có thể gửi hoặc chụp lại hàm bạn đã viết được không?

    2. Bạn chụp lại cây file, với đẩy cái class lên để chúng mình cùng giúp bạn nào

  6. Thầy ơi, muốn đưa tiến trình chạy ngầm lên thanh trạng thái (giống như các chương trình nghe nhạc) thì làm thế nào vậy ạ?

  7. Thầy cho em hỏi, khi chạy ứng dụng mà báo lỗi “Unfortunately. has stop.” là mình khắc phục thế nào vậy thầy? Em tìm mãi không ra. Mong được thầy giúp. Em cảm ơn thầy.

  8. Thầy ơi có phải cho hết chỗ này vào sự kiện “btnCancel.setOnClickListener” ko thầy?

  9. Thầy ơi có phải cho hết chỗ này vào sự kiện “btnCancel.setOnClickListener” ko thầy?

  10. Cám ơn bài viết của Thầy Duy Thanh
    Và đây là code sample 9 https://www.mediafire.com/?vk7x865ufsr15hq

  11. cho em hỏi làm sao để khi người ta bấm nút quay lại hay nút về màn hình chính thì vẫn hiện lên cái alert dialog vậy thầy?

  12. em rất cám ơn những bài giảng của thầy, em không có điều kiện đi học ở trường nên nghiên cứu trên internet là chính, bài viết của thầy rất chi tiết và dễ hiễu, nhưng e có 1 góp ý nhỏ là cuối bài thầy nên cho 1 2 bài tập để thực tập thì sẽ dễ hơn trong việc ứng dụng kiến thức đã học, một lần nữa em xin chân thành cảm ơn thầy

  13. YourActivity đó lấy ở đâu vậy ạ?

    1. Cái MainActivity.java đó bạn

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: