I have a framelayout called one time in my Activity and various time in other Fragment (passing by the same framelayout of the Activity).
In my MainActivity.class, I need to know in what fragment is my framelayout.
For example, I need to know if framelayout is using MyFragment1.class or MyFragment2.class.
I need something like this (in this example, the log have to say me "you are in MyFragment1"):
FrameLayout frameLayout = (FrameLayout) findViewById(R.id.framelayout);
getSupportFragmentManager().beginTransaction()
.replace(R.id.framelayout,new MyFragment1())
.commit();
if (framelayout.getname.equals("package.MyFragment1.class"))
Log.d("debug", "you are in MyFragment1");
else if (framelayout.getname.equals("package.MyFragment2.class"))
Log.d("debug", "you are in MyFragment2");
How can I do that?
I found the solution
getSupportFragmentManager().beginTransaction()
.replace(R.id.framelayout,new MyFragment1())
.commit();
final Fragment fragmentInFrame = getSupportFragmentManager().findFragmentById(R.id.framelayout);
if (fragmentInFrame instanceof MyFragment1){
Log.d("debug", "you are in MyFragment1");
} else if (fragmentInFrame instanceof MyFragment2) {
Log.d("debug", "you are in MyFragment2");
}