Call parent's activity from a fragment

前端 未结 3 684
别那么骄傲
别那么骄傲 2020-12-15 16:19

If I\'m inside a Fragment how can I call a parent\'s activity?

相关标签:
3条回答
  • 2020-12-15 16:31

    Simply call your parent activity using getActivity() method.

    CardView cardView = (CardView) getActivity().findView(R.id.your_view);
    
    0 讨论(0)
  • 2020-12-15 16:37

    The most proper way is to make your Activity implement an Interface and use listeners. That way the Fragment isn't tied to any specific Activity keeping it reusable. Into the Fragment:

    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);
    
        // This makes sure that the container activity has implemented
        // the callback interface. If not, it throws an exception
        try {
            mCallback = (OnHeadlineSelectedListener) activity;
        } catch (ClassCastException e) {
            throw new ClassCastException(activity.toString()
                    + " must implement OnHeadlineSelectedListener");
        }
    }
    

    That way, you make the Activity listen to the fragment when it's attached to it.

    See also:

    • http://developer.android.com/training/basics/fragments/communicating.html
    0 讨论(0)
  • 2020-12-15 16:41

    Yes, Its right by calling getActivity and cast it with parent activity to access its methods or variables ((ParentActivityName)getActivity())

    Try this one.

    ParentActivityName is parent class name

    0 讨论(0)
提交回复
热议问题