How to set a Fragment tag by code?
I haven't found something like setTag(String tagName)
method in the Fragment
class. The only way to set a Fragment
tag that I have found is by doing a FragmentTransaction
and passing a tag name as parameter.
Is this the only way to explicitly set a Fragment
tag by code?
Yes. So the only way is at transaction time, e.g. using add
, replace
, or as part of the layout.
I determined this through an examination of the compatibility sources as I briefly looked for similar at some point in the past.
You can set tag to fragment in this way:
Fragment fragmentA = new FragmentA();
getFragmentManager().beginTransaction()
.replace(R.id.MainFrameLayout,fragmentA,"YOUR_TARGET_FRAGMENT_TAG")
.addToBackStack("YOUR_SOURCE_FRAGMENT_TAG").commit();
You can provide a tag inside your activity layout xml file.
Supply the android:tag attribute
with a unique string.
Just as you would assign an id in a layout xml.
android:tag="unique_tag"
link to developer guide