-2

When fragment is running, context.getActivity() is not null but when it turns to onPause() method and resumed back then context.getActivity() method returns null.

@Override public View onCreateView(LayoutInflater inflater, 
                                   ViewGroup container, 
                                   Bundle savedInstanceState) {
  view = inflater.inflate(R.layout.levelmission, container, false); 
  initComponents(view); 
  return view; 
}
Frank van Puffelen
  • 565,676
  • 79
  • 828
  • 807
Muhammad
  • 1
  • 6

1 Answers1

0

If you use

setRetainInstance(true);

you should reset your activity each time you recreate your view so something like :

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

 view = inflater.inflate(R.layout.levelmission, container, false); 
 initComponents(view); 
 mActivity = getActivity();

 return view; 
}

then use mActivity instead of context.getActivity();

Slickelito
  • 1,786
  • 20
  • 28
  • 1
    Using `setRetainInstance(true)` is like setting the `android:configChanges` property to deal with configuration changes. Using it for this purpose is a hack more than a solution. – Alex Lockwood Apr 16 '14 at 04:13