Nếu tôi khởi chạy DialogFragment từ một hoạt động, điều gì xảy ra khi tôi đóng DialogFragment? Hoạt động có đi qua trạng thái onResume không? Hoặc là cuộc gọi như bất kỳ cuộc gọi java bình thường để dòng tiếp theo không bao giờ được thực hiện cho đến khi DialogFragment bị đóng?DialogFragment ảnh hưởng đến vòng đời của hoạt động gọi điện thoại
Giả sử phương pháp để tung ra đoạn của tôi là
private void launchFragment(){
ConfirmationDialog confirm = new ConfirmationDialog();
confirm.show(getSupportFragmentManager(), "confirm");
doMoreStuff();
}
Vì vậy, câu hỏi của tôi có hai phần:
- Khi được
doMoreStuff()
gọi là? Trước hoặc sau khi tôi đóng đoạn để quay lại hoạt động gốc? - Sau khi tôi đóng đoạn để quay lại hoạt động gốc, hoạt động của phụ huynh có thông qua onResume hay không: vì vậy nếu tôi kiểm tra một số trường được thay đổi bởi đoạn, tôi có thể làm việc trênResume dựa trên trạng thái của lĩnh vực:
Như trong ví dụ sau:
@Override
public void onResume() {
super.onResume();
if(dialogFragmentChangedThis){
workSomeMore();
}
}
đoạn được đưa ra với
setStyle(STYLE_NO_FRAME, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
để nó trong chế độ toàn màn hình.
Tôi đã nghĩ đến việc triển khai giao diện gọi lại tùy chỉnh, nhưng tôi đã hy vọng có một cách dễ dàng hơn sau đó; sự ủng hộ heo con như vậy trên vòng đời. –