I created a new View
class. Within that class I need to get access to the FragmentManager
, but I cannot figure out how.
Can I access the FragmentManager
from a context?
CustomView extends LinearLayout
FragmentManager is class provided by the framework which is used to create transactions for adding, removing or replacing fragments. getSupportFragmentManager is associated with Activity consider it as a FragmentManager for your Activity .
FragmentManager is the class responsible for performing actions on your app's fragments, such as adding, removing, or replacing them, and adding them to the back stack.
Only if the given Context extends Activity (Post-Honeycomb) or FragmentActivity (pre-honeycomb).
In which case you'd have to make 100% sure it's an activity using reflection or try-catch.
try{ final Activity activity = (Activity) context; // Return the fragment manager return activity.getFragmentManager(); // If using the Support lib. // return activity.getSupportFragmentManager(); } catch (ClassCastException e) { Log.d(TAG, "Can't get the fragment manager with this"); }
Thought I recommend refactoring so a View
is really just meant for showing stuff and shouldn't actually modify the state of your app, but that's my opinion.
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