fragmenttransaction
An invisible layout behind the fragment is getting clicked:
You need to make the root ViewGroup of VenueFragment clickable so it handles click events and they do not pass down (in the z-order sense) to the other Fragment.
java.lang.IllegalArgumentException: No view found for id 0x1020002 (android:id/content) for fragment
When you use fragmentTransaction.replace(R.id.container,fragment) it will remove any fragments that are already in the container and add your new one to the same container. Now i can suggest you 2 things.First, if you want to use fragmentTransaction.replace(android.R.id.content, fragment); which you are doing right now,then don’t set content for your Activity using setContentView.This should work fine … Read more
How to replace fragment C with fragment A when back button is pressed?
You need to do 2 things – name the FragmentTransaction from A->B and then override onBackPressed() in your containing activity to call FragmentManager#popBackStack (String name, int flags) when you are on Fragment C. Example: Transition from A->B getSupportFragmentManager() .beginTransaction() .replace(R.id.container, new FragmentB(), “FragmentB”) .addToBackStack(“A_B_TAG”) .commit(); Transition from B->C will use a similar transaction with “FragmentC” … Read more
findFragmentByTag() returns null after perform a FragmentTransaction using replace() method
I’ve fixed it! I called getSupportFragmentManager().executePendingTransactions() after doing the transaction and it worked! After calling that method I can get the fragment using both findFragmentById() and findFragmentByTag() methods.
When to use the attach and detach methods of FragmentTransaction
I think it is better to have a look at definition of Detach and Remove in FragmentTransaction Documentation to understand what is going on. Detach Detach the given fragment from the UI. This is the same state as when it is put on the back stack: the fragment is removed from the UI, however its … Read more
DrawerLayout’s item click – When is the right time to replace fragment?
Yup, couldn’t agree more, performing a fragment (with view) transaction results in a layout pass which causes janky animations on views being animated, citing DrawerLayout docs: DrawerLayout.DrawerListener can be used to monitor the state and motion of drawer views. Avoid performing expensive operations such as layout during animation as it can cause stuttering; try to … Read more
Android FragmentTransaction commit already called
You are beginning the FragmentTransaction outside of the OnItemClickListener. Thus you are attempting to commit() a single FragmentTransaction every time the user clicks an item in your ListView. You need to begin a new FragmentTransaction every time you intend to perform any number of Fragment operations. A simple fix would look like this: f1_fragment = … Read more
What does FragmentManager and FragmentTransaction exactly do?
getFragmentManager() Return the FragmentManager for interacting with fragments associated with this activity. FragmentManager which is used to create transactions for adding, removing or replacing fragments. fragmentManager.beginTransaction(); Start a series of edit operations on the Fragments associated with this FragmentManager. The FragmentTransaction object which will be used. fragmentTransaction.replace(R.id.fragment_container, mFeedFragment); Replaces the current fragment with the mFeedFragment … Read more
How is the new FragmentTransaction commitNow() working internally?
It’s a good thing that Android Source code is Open Source when we faced some question like this! Answer So let’s take a look at BackStackRecord source here @Override public void commitNow() { disallowAddToBackStack(); mManager.execSingleAction(this, false); } @Override public FragmentTransaction disallowAddToBackStack() { if (mAddToBackStack) { throw new IllegalStateException( “This transaction is already being added to … Read more