You can also do the cast in Fragment.onAttach() if you want to fail quickly
in the case of someone forgetting to implement the interface.

On Sun, Feb 27, 2011 at 8:59 PM, davemac <davemac...@gmail.com> wrote:

> A little more formally, have your activity implement an interface such
> as OnMyFragmentListener, so that the activity must implement a method
> like onFragmentDidSomething(). When your fragment wants to send
> something to the activity, it can do the following:
>
> ((OnMyFragmentListener)getActivity()).onFragmentDidSomething(...);
>
> You will get a ClassCastException in your fragment if the activity
> didn't implement the interface, but the really nice thing is that from
> your fragment's point of view, it doesn't have to care exactly which
> activity did the invoking. The cast is to the interface, not the
> activity. You could put the Listener interface definition inside your
> fragment class to keep things nice and clean.
>
> - dave
>
> On Feb 27, 9:58 pm, Gregg Reno <gregg.r...@gmail.com> wrote:
> > OK, that makes sense.  Thanks Dianne.
> > -Gregg
> > On Feb 27, 2011 9:53 PM, "Dianne Hackborn" <hack...@android.com> wrote:
> >
> > > Fragment.getActivity().doSomething().
> >
> > > A little more formally, define an interface for the fragment to call
> back
> > on
> > > the activity it is running in, which each activity using that fragment
> can
> > > implement.
> >
> > > On Sun, Feb 27, 2011 at 6:39 PM, Gregg Reno <gregg.r...@gmail.com>
> wrote:
> >
> > >> Maybe this covered earlier in this thread and I'm still not
> > >> understanding it. I like the idea of a each fragment communicating
> > >> back to the activity rather than to other fragments. Then the activity
> > >> can decide whether it needs to send information to other fragments.
> >
> > >> So is there an existing mechanism for a fragment to send a message to
> > >> the activity? If not, I guess I could just create a handler in the
> > >> activity and pass the handler pointer to the fragment so it can send a
> > >> message to the activity.
> >
> > >> My use case is the activity is responsible for all changes to the
> > >> action bar and to showing or hiding various fragments.
> >
> > >> Thanks,
> > >> -Gregg Reno
> >
> > >> --
> > >> You received this message because you are subscribed to the Google
> > >> Groups "Android Developers" group.
> > >> To post to this group, send email to
> android-developers@googlegroups.com
> > >> To unsubscribe from this group, send email to
> > >> android-developers+unsubscr...@googlegroups.com
> > >> For more options, visit this group at
> > >>http://groups.google.com/group/android-developers?hl=en
> >
> > > --
> > > Dianne Hackborn
> > > Android framework engineer
> > > hack...@android.com
> >
> > > Note: please don't send private questions to me, as I don't have time
> to
> > > provide private support, and so won't reply to such e-mails. All such
> > > questions should be posted on public forums, where I and others can see
> > and
> > > answer them.
> >
> >
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android Developers" group.
> To post to this group, send email to android-developers@googlegroups.com
> To unsubscribe from this group, send email to
> android-developers+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/android-developers?hl=en
>



-- 
Dianne Hackborn
Android framework engineer
hack...@android.com

Note: please don't send private questions to me, as I don't have time to
provide private support, and so won't reply to such e-mails.  All such
questions should be posted on public forums, where I and others can see and
answer them.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to