2009-01-17 30 views
9

Tôi đang tạo một trò chơi phù hợp cho Android và khi người dùng nhận được một trận đấu, một hộp thoại sẽ bật lên nói "Phù hợp!" Tôi không thể tìm ra cách để làm điều này mặc dù. Nếu tôi sử dụng Thread.currentthread() ngủ, hộp thoại sẽ không bao giờ xuất hiện.Bật lên thời gian trong Android

android.app.AlertDialog a = new android.app.AlertDialog.Builder(match.this).setTitle("Match!").show(); 
Thread.currentthread().sleep(1000); 
a.dismiss(); 

Không có gì xảy ra - chương trình chỉ bị treo trong một giây. Tôi muốn nó bật lên chỉ trong 1 giây, hoặc nếu có một loại điều popup khác, điều đó cũng sẽ tốt.

Trả lời

16

Bạn đang cố gắng hiển thị tin nhắn văn bản trong cửa sổ bật lên trong một khoảng thời gian ngắn trên màn hình?

Đối với những loại báo nâng cốc chúc mừng là tuyệt vời:

Toast.makeText(this, "Match!", Toast.LENGTH_LONG).show(); 

Là những gì bạn đang tìm kiếm? Here is the Java Doc.

+0

Hoàn hảo! Cảm ơn nhiều! –

+0

Bạn đang chào đón ;-) –

+0

tôi cũng đã làm điều này và đã nhận nó, nhưng có phương pháp nào để hiển thị nó ở trung tâm của ứng dụng hoặc vị trí khác không? – BIBEKRBARAL

4

Hộp thoại được hiển thị trong chuỗi hiện tại nhưng bạn đang đặt luồng ngủ để nó không bao giờ xuất hiện. Khác với điều chỉnh sự kiện, có vài trường hợp bạn muốn gọi ngủ với độ trễ đáng kể từ chuỗi giao diện người dùng.

Trong trường hợp này, sử dụng Bánh mì nướng là dễ nhất như áp phích trước được đề xuất. Một vài cách khác để xử lý công việc bạn muốn thực hiện trong tương lai

  • Bộ hẹn giờ Java. Hành động sẽ xảy ra
    trên một chủ đề khác nhau, do đó bạn phải hãy cẩn thận những gì gọi là gui bạn thực hiện
  • Chế độ xem có phương thức Runnable được thực thi trên chuỗi giao diện người dùng sau khoảng delayMillis.
Các vấn đề liên quan