Tạo nút Back trên bảng dialog có chức năng chuyển về Activity chính

Mình đang code 1 chương trình game, sau khi hết game sẽ hiện ra bảng dialog trong đó có nút back. Vậy làm sao để khi mình click vào nút back sẽ chuyển qua Activity chính nhỉ? Mình có dùng intent để chuyển đổi giữa 2 activity nhưng k đc. Mọi người giúp mình với ạ

Ko được thì có lỗi ko bạn?
Nhưng thật ra có thể bạn làm sao hướng, bấm nút back thì đầu tiên là dismiss cái dialog để nó trở về cái activity/fragment mà show dialog trước, rồi sau đó mới back về activity main.

4 Likes

code mình viết như này, khi nhấn back thì có mất bảng dialog và quay về activity show dialog nhưng chương trình bị đơ và dừng app luôn

btnBack.setOnClickListener((View v) -> {
            dialog.dismiss();
            Intent x= new Intent(MainActivity.this, Begin.class);
            startActivity(x);
        });

Đơ thì có thể do có phương thức nào đó bị gọi vòng.

2 Likes

gọi vòng là sao bạn nhỉ

Ý mình là có thể các phương thức gọi lẫn nhau thành 1 vòng tròn vô tận dẫn đến “đơ”.
Nhưng xét lại thì khó có khả năng đấy.
Mình nhận thấy bạn đang hủy 1 thực thể đang thực hiện 1 tác vụ chưa xong bên trong chính nó.
Có phải btnBack nằm trên dialog không?
Trong sự kiện của btnBack bạn lại gọi dialog.dismiss(). Mình chỉ suy đoán thôi, có thể bạn gọi dismiss() dẫn đến việc dialog thực hiện cả việc hủy mọi thứ bên trong nó (gồm btnBack) trong khi btnBack chưa thực hiện xong sự kiện. Bạn thử bỏ dòng dialog.dismiss() xem sao.
Nhắc lại là mình chỉ suy đoán thôi.

4 Likes
x.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |Intent.FLAG_ACTIVITY_CLEAR_TASK);

Thử thêm cái này xem.

3 Likes

Copy logcat lúc đơ app lên đây bạn, code của bạn đang là từ Main activity sang Begin activity nó trái với những gì bạn hỏi.

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?