I am trying to get the Dialog
I have created with an extended DialogFragment
using DialogFragment.getDialog()
but it returns null.
Basically I want to alter the text in the layout from the FragmentActivity
which creates and shows the DialogFragment
.
You're calling getDialog()
too early in the DialogFragment
's life cycle.
getDialog()
simply returns the private variable mDialog
from the DialogFragment
.
When a DialogFragment
is instantiated mDialog
is null, and then it gets set when onCreateDialog
is fired inside getLayoutInflater(Bundle savedInstanceState)
, so you have to call getDialog
after onCreateDialog
.
For example, the order of some common methods called is onCreate
, onCreateDialog
, and onCreateView
, onStart
. So, you can call getDialog
and have it return something in onCreateView
or onStart
, but not in onCreate
or onCreateDialog
.
Even though onStart
is called called when the Fragment is visible to the user
, adjusting the layout of the fragment at that point looks fine.... for example setting the width and height using getDialog().getWindow().setLayout(..., ...);
doesn't make the fragment appear to change size, but just appears to have the newly set size.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With