Untitled

mail@pastecode.io avatar
unknown
plain_text
a month ago
1.9 kB
1
Indexable
Never
public class RetainedData {
    private AlertDialog alertDialog;

    public void setAlertDialog(AlertDialog alertDialog) {
        this.alertDialog = alertDialog;
    }

    public AlertDialog getAlertDialog() {
        return alertDialog;
    }
}



public class YourActivity extends AppCompatActivity {

    private RetainedData retainedData;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        retainedData = (RetainedData) getLastCustomNonConfigurationInstance();

        if (retainedData == null) {
            // Retained data is not available, create and show the dialog
            createAndShowDialog();
        } else {
            // Retained data is available, show the dialog again
            showRetainedDialog();
        }
    }

    @Override
    public Object onRetainCustomNonConfigurationInstance() {
        // Save the data you want to retain during configuration change
        return retainedData;
    }

    private void createAndShowDialog() {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Your Title")
                .setMessage("Your Message")
                .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        // Handle positive button click
                    }
                });

        AlertDialog alertDialog = builder.create();

        // Save the dialog to the retained data
        retainedData = new RetainedData();
        retainedData.setAlertDialog(alertDialog);

        alertDialog.show();
    }

    private void showRetainedDialog() {
        // Show the dialog again
        if (retainedData != null && retainedData.getAlertDialog() != null) {
            retainedData.getAlertDialog().show();
        }
    }
}
Leave a Comment