1

In my app in need to hide layout when i click out side (MobileFragment) of that layout. You can understand the whole problem from given below images.

This is my app sturcture:

project Structure

This is the problem:

Problem

Here is my code:



MainActivity.java

package com.example.admin.smsrupee;

import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.support.design.widget.CoordinatorLayout;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.content.ContextCompat;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.LayoutInflater;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;


public class MainActivity extends AppCompatActivity implements View.OnClickListener{

    private TabLayout tabLayout;
    private ViewPager viewPager;
    private ImageView menu_icon,profile_icon;
    private LinearLayout layout,profile_layout;
    ViewPagerFinder adapter;
    CoordinatorLayout coordinatorLayout;


    private int[] tabIcons = {
            R.drawable.mobile_icon,
            R.drawable.dth_icon,
            R.drawable.data_card_icon,
            R.drawable.landline_icon,
            R.drawable.electricity_icon,
            R.drawable.gas_icon
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        overridePendingTransition(R.anim.fadein, R.anim.fadeout);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        viewPager = (ViewPager)findViewById(R.id.viewpager);
        setupViewPager(viewPager);
        tabLayout = (TabLayout) findViewById(R.id.tabs);
        tabLayout.setupWithViewPager(viewPager);

        menu_icon = (ImageView)findViewById(R.id.menu_icon);
        profile_icon = (ImageView)findViewById(R.id.profile_icon);
        layout = (LinearLayout)findViewById(R.id.menu_list);
        profile_layout = (LinearLayout)findViewById(R.id.profile_menu_list);
        menu_icon.setOnClickListener(this);
        profile_icon.setOnClickListener(this);
        viewPager.setOnClickListener(this);

        coordinatorLayout.setOnClickListener(this);

    setupTabIcons();

        FragmentStatePagerAdapter a = (FragmentStatePagerAdapter)viewPager.getAdapter();
        Fragment ft = (Fragment)a.instantiateItem(viewPager, viewPager.getCurrentItem());
        System.out.println("Fragment---" + ft);

    }


    private void setupTabIcons() {


        Drawable mobile_img;
        Resources res1 = getResources();
        mobile_img = ContextCompat.getDrawable(MainActivity.this, R.drawable.mobile_icon);
        mobile_img.setBounds(0, 0, 20, 25);

        TextView tabOne = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);
        tabOne.setText("Mobile");
        tabOne.setCompoundDrawables(null,mobile_img, null, null);
        tabLayout.getTabAt(0).setCustomView(tabOne);

        Drawable dth_img ;
        Resources res2 = getResources();
        dth_img = ContextCompat.getDrawable(MainActivity.this, R.drawable.dth_icon);
        dth_img.setBounds(0, 0, 20, 25);

        TextView tabTwo = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);
        tabTwo.setText("DTH");
        tabTwo.setCompoundDrawables(null, dth_img, null, null);
        tabLayout.getTabAt(1).setCustomView(tabTwo);

        Drawable data_img ;
        Resources res3 = getResources();
        data_img = ContextCompat.getDrawable(MainActivity.this, R.drawable.data_card_icon);
        data_img.setBounds(0, 0, 20, 25);

        TextView tabThree = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);
        tabThree.setText("Data Card");
        tabThree.setCompoundDrawables(null, data_img, null, null);
        tabLayout.getTabAt(2).setCustomView(tabThree);

        Drawable landline_img ;
        Resources res4 = getResources();
        landline_img = ContextCompat.getDrawable(MainActivity.this, R.drawable.landline_icon);
        landline_img.setBounds(0, 0, 20, 25);

        TextView tabFour = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);
        tabFour.setText("LandLine");
        tabFour.setCompoundDrawables(null,landline_img, null, null);
        tabLayout.getTabAt(3).setCustomView(tabFour);

        Drawable electricity_img ;
        Resources res5 = getResources();
        electricity_img = ContextCompat.getDrawable(MainActivity.this, R.drawable.electricity_icon);
        electricity_img.setBounds(0, 0, 20, 25);


        TextView tabFive = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);
        tabFive.setText("Electricity");
        tabFive.setCompoundDrawables(null,electricity_img, null, null);
        tabLayout.getTabAt(4).setCustomView(tabFive);

        Drawable gas_img ;
        Resources res6 = getResources();
        gas_img = ContextCompat.getDrawable(MainActivity.this, R.drawable.gas_icon);
        gas_img.setBounds(0, 0, 20, 25);


        TextView tabSix = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);
        tabSix.setText("Gas");
        tabSix.setCompoundDrawables(null,gas_img , null, null);
        tabLayout.getTabAt(5).setCustomView(tabSix);

    }


    private void setupViewPager(ViewPager viewPager) {
        adapter = new ViewPagerFinder(getSupportFragmentManager());
        adapter.addFragment(new MobileFragment(), "Mobile");
        adapter.addFragment(new DTHFragment(), "DTH");
        adapter.addFragment(new DataCardFragment(), "Data Card");
        adapter.addFragment(new LandLineFragment(), "Landline");
        adapter.addFragment(new ElectricityFragment(), "Electricity");
        adapter.addFragment(new GasFragment(), "Gas");
        viewPager.setAdapter(adapter);
    }


    @Override
    public void onClick(View v) {

        switch (v.getId()){
            case R.id.menu_icon:
                if(layout.getVisibility() == View.INVISIBLE){
                    layout.setVisibility(View.VISIBLE);
                }else{
                    layout.setVisibility(View.INVISIBLE);
                }
                break;

            case R.id.profile_icon:
                if(profile_layout.getVisibility() == View.INVISIBLE) {
                    profile_layout.setVisibility(View.VISIBLE);
                } else {
                    profile_layout.setVisibility(View.INVISIBLE);
                }
                break;
            default:

                break;
        }
    }

    class ViewPagerFinder extends FragmentStatePagerAdapter{

       private final List<Fragment> mFragmentList = new ArrayList<>();
       private final List<String> mFragmentTitleList = new ArrayList<>();

       public ViewPagerFinder(FragmentManager manager) {
           super(manager);

       }
       @Override
       public Fragment getItem(int position){
           return  mFragmentList.get(position);
       }

       @Override
       public int getCount() {
           return mFragmentList.size();
       }

        public void addFragment(Fragment fragment, String title) {
            mFragmentList.add(fragment);
           mFragmentTitleList.add(title);
       }

       @Override
       public CharSequence getPageTitle(int position) {
           return mFragmentTitleList.get(position);
       }

        public Fragment  returnFragment(int position){
            return mFragmentList.get(position);

        }

   }



    @Override
    public boolean onCreateOptionsMenu(Menu menu) {

        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }



    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        int id = item.getItemId();
      /*  if (id == R.id.action_settings) {
            return true;
        }*/

        return super.onOptionsItemSelected(item);
    }


}

MobileFragemnt.java

package com.example.admin.smsrupee;

import android.app.Fragment;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.view.ViewPager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.Toast;

/**
 * Created by admin on 11/4/2015.
 */
public class MobileFragment extends android.support.v4.app.Fragment {

    EditText editText;
    private ImageView menuicon;
    private LinearLayout layout;
    private RelativeLayout relativeLayout;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view= inflater.inflate(R.layout.mobile_fragment, container, false);
        return view;
    }

    public static MobileFragment newInstance(int index) {
        MobileFragment f = new MobileFragment();
        Bundle args = new Bundle();
        args.putInt("index", index);
        f.setArguments(args);
        return f;
    }

}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/cordinator"
    android:clickable="true"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:fitsSystemWindows="true"
    tools:context=".MainActivity">


    <android.support.design.widget.AppBarLayout
        android:layout_height="wrap_content"
        android:layout_width="match_parent" android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:contentInsetStart="0dp"
            android:contentInsetLeft="0dp"
            app:contentInsetLeft="0dp"
            app:contentInsetStart="0dp"
            android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay">
            <include layout="@layout/content_main"/>


        </android.support.v7.widget.Toolbar>



    </android.support.design.widget.AppBarLayout>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="#2f5392"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        />

    <android.support.design.widget.TabLayout
        android:id="@+id/tabs"
        android:layout_width="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        android:layout_height="wrap_content"
        app:tabMode="scrollable"
        app:tabGravity="fill"/>

    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_marginTop="50dp"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" >

    </android.support.v4.view.ViewPager>

    <!--<include layout="@layout/dummy_layout"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        />-->

    <include layout="@layout/menu_contents"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        />

    <include layout="@layout/profile_contents"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_behavior="@string/appbar_scrolling_view_behavior"
        />

</android.support.design.widget.CoordinatorLayout>

mobile_fragment.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/mobile_relative_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="info.androidhive.materialtabs.fragments.OneFragment">
    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="#2f5392"
        android:id="@+id/view" />

    <LinearLayout
        android:layout_width="wrap_content"
        android:id="@+id/linearlayout_one1"
        android:layout_marginTop="30dp"
        android:layout_centerHorizontal="true"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        >
    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Prepaid"
        android:textColor="#2f5392"
        android:layout_marginRight="20dp"
        android:id="@+id/prepaid_radio1"
        android:checked="false" />

    <RadioButton
            android:layout_width="wrap_content"
            android:textColor="#2f5392"
            android:layout_height="wrap_content"
            android:text="Postpaid"
            android:id="@+id/postpaid_radio1"
            android:checked="false" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:id="@+id/linearlayout_two1"
        android:layout_below="@+id/linearlayout_one1"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal"
        android:layout_marginTop="20dp"
        android:orientation="vertical"
        >

        <EditText
            android:layout_width="300dp"
            android:hint="Enter Your Mobile Number"
            android:textSize="15sp"
            android:text="123xxxxxx"
            android:id="@+id/mobile_number1"
            android:paddingLeft="30dp"
            android:layout_height="wrap_content"
            android:drawableRight="@drawable/editbox_icon"
            />

        <EditText
            android:layout_width="300dp"
            android:hint="Select Operator"
            android:paddingLeft="30dp"
            android:id="@+id/operator1"
            android:textSize="15sp"
            android:layout_height="wrap_content"
            android:drawableRight="@drawable/down_arrow"
            />
        <EditText
            android:layout_width="300dp"
            android:drawableLeft="@drawable/indian_rupee"
            android:hint="    Amount"
            android:id="@+id/amount1"
            android:textSize="15sp"
            android:layout_height="wrap_content"
            android:drawableRight="@drawable/browse_plan"
            />

    </LinearLayout>

    <Button
        android:layout_below="@+id/linearlayout_two1"
        android:layout_marginTop="35dp"
        android:layout_width="250dp"
        android:id="@+id/proceed1"
        android:layout_centerHorizontal="true"
        android:layout_height="37dp"
        android:background="#2f5392"
        android:textColor="#ffffff"
        android:text="PROCEED"/>

</RelativeLayout>

content_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:showIn="@layout/activity_main" tools:context=".MainActivity">

    <RelativeLayout
        android:id="@+id/relative_one"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        >
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/sms_rupee_logo"
            />
        <ImageView
            android:id="@+id/menu_icon"
            android:layout_width="wrap_content"
            android:layout_marginRight="10dp"
            android:layout_alignParentRight="true"
            android:layout_height="wrap_content"
            android:src="@drawable/menu_icon"
            />

        <ImageView
            android:id="@+id/wallet_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="20dp"
            android:layout_toLeftOf="@+id/menu_icon"
            android:src="@drawable/wallet_icon" />
        <ImageView
            android:id="@+id/profile_icon"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="20dp"
            android:layout_toLeftOf="@+id/wallet_icon"
            android:src="@drawable/profile_icon" />

    </RelativeLayout>


</RelativeLayout>

profile_content.xml

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <LinearLayout
        android:id="@+id/profile_menu_list"
        android:layout_width="165dp"
        android:layout_height="fill_parent"
        android:layout_alignParentRight="true"
        android:clickable="true"
        android:layout_alignParentTop="true"
        android:background="#2f5392"
        android:orientation="vertical"
        android:visibility="invisible"
        >
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

        <ImageView
            android:layout_width="wrap_content"
            android:layout_gravity="center_vertical"
            android:padding="8dp"
            android:layout_height="wrap_content"
            android:src="@drawable/add_user"/>

        <TextView
            android:id="@+id/register"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="3dp"
            android:layout_gravity="center_vertical"
            android:padding="8dp"
            android:text="Register"
            android:textColor="#fff"
            android:textSize="17dp"
            />

        </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <ImageView
            android:layout_width="wrap_content"
            android:padding="8dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:src="@drawable/login"/>

        <TextView
            android:id="@+id/login"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_marginLeft="3dp"
            android:padding="8dp"
            android:text="Login"
            android:textColor="#ffffff"
            android:textSize="17dp"
            />

        </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <ImageView
            android:layout_width="wrap_content"
            android:padding="8dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:src="@drawable/referral"/>

        <TextView
            android:id="@+id/referrals"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="3dp"
            android:layout_gravity="center_vertical"
            android:padding="8dp"
            android:text="Referrals"
            android:textColor="#ffffff"
            android:textSize="17dp"
            />
        </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <ImageView
            android:layout_width="wrap_content"
            android:padding="8dp"
            android:layout_gravity="center_vertical"
            android:layout_height="wrap_content"
            android:src="@drawable/recharge"/>

        <TextView
            android:id="@+id/configure_easychange"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="3dp"
            android:layout_gravity="center_vertical"
            android:padding="8dp"
            android:text="Configure EasyCharge"
            android:textColor="#ffffff"
            android:textSize="17dp"
            />
        </LinearLayout>

    </LinearLayout>
</RelativeLayout>
Devendra Dagur
  • 840
  • 1
  • 14
  • 35

2 Answers2

1

Firstly, you can get an instance of an Activity inside its fragment by help of getActivity() method. Use this instance to call any method of the activity from your fragment like this :-

((MainActivity) getActivity()).methodName();

Secondly, I would suggest you to convert that bar into a NavigationDrawer which will benefit you by providing you with a much cleaner user interface with more cleaner transitions.

Varun Kumar
  • 1,241
  • 1
  • 9
  • 18
0

enter image description here

MainActivity

public class HomeActivity extends AppCompatActivity {

    public static BottomNavigationView mNavigationView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);

        //-----------------------------------------------| Bottom navigation menu
        mNavigationView = (BottomNavigationView) findViewById(R.id.bottom_navigation);
        mNavigationView.setOnNavigationItemSelectedListener(new ActionHandler());

    }

    private class ActionHandler implements BottomNavigationView.OnNavigationItemSelectedListener {
        //-----------------------------------------------| Bottom navigation menu listener
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
            switch (item.getItemId()) {
                case R.id.action_menu:
                    getSupportFragmentManager().beginTransaction().setCustomAnimations(R.anim.enter_from_left, 0).add(android.R.id.content, new MenuFragment(), "myFragmentTag").addToBackStack("tag").commit(); // without FrameLayout
                    return true;
                case R.id.action_account:
                    //
                    return true;
            }
            return false;
        }
    }

}

fragment_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/root_view"
    android:background="@android:color/transparent"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".views.fragments.MenuFragment">

    <LinearLayout
        android:orientation="vertical"
        android:layout_marginEnd="150dp"
        android:background="@color/colorBackgroundGrey"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <RelativeLayout
            android:background="@color/colorPrimary"
            android:layout_width="match_parent"
            android:layout_height="250dp">
            <de.hdodenhof.circleimageview.CircleImageView
                android:id="@+id/header_photo"
                app:civ_border_width="1dp"
                app:civ_border_color="@color/colorLightGrey"
                app:tint="@color/colorWhite"
                android:src="@drawable/ic_add_photo"
                android:layout_centerInParent="true"
                android:layout_width="140dp"
                android:layout_height="140dp"/>
            <TextView
                android:id="@+id/nav_header_title"
                android:textColor="@color/colorWhite"
                android:layout_marginTop="10dp"
                android:text="@string/app_name"
                android:layout_alignParentBottom="true"
                android:layout_centerInParent="true"
                android:layout_marginBottom="15dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
        </RelativeLayout>

        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/items_recycler_view"
            tools:listitem="@layout/item_menu"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />
    </LinearLayout>

</RelativeLayout>

MemuFragment

public class MenuFragment extends Fragment {

    private UserModel mUser;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment_menu, container, false);

        //getActivity().onBackPressed();

        ((RelativeLayout) view.findViewById(R.id.root_view)).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Utility.getInstance().onBackFragment(Objects.requireNonNull(getActivity()).getSupportFragmentManager(), new MenuFragment());
            }
        });

        return view;
    }

    
}

Utility

public class Utility {

    private String TAG = this.getClass().getSimpleName();
    private static Utility mUtility;

    public static Utility getInstance() {
        if (mUtility == null) {
            mUtility = new Utility();
        }
        return mUtility;
    }
    
    //===============================================| Add fragment | Replace fragment | Remove fragment
    //https://stackoverflow.com/questions/18634207/difference-between-add-replace-and-addtobackstack
    public void onAddFragment(FragmentManager mManager, Fragment mFragment){
        //getSupportFragmentManager().beginTransaction().add(android.R.id.content, new FragmentHome(), "myFragmentTag").addToBackStack("tag").commit(); // without FrameLayout
        mManager.beginTransaction().setCustomAnimations(R.anim.fragment_fade_enter, 0).add(R.id.home_container, mFragment).addToBackStack(mFragment.getTag()).commitAllowingStateLoss(); //with back press
        //getActivity().getSupportFragmentManager().beginTransaction().setCustomAnimations(R.anim.fragment_fade_enter, 0).replace(layout, mFragment).addToBackStack(mFragment.getTag()).commitAllowingStateLoss(); //with back press
    }
    public void onReplaceFragment(FragmentManager mManager, Fragment mFragment){
        mManager.beginTransaction()
                .setCustomAnimations(R.anim.fragment_fade_enter, 0)
                .replace(R.id.home_container, mFragment)
                .addToBackStack(null)
                .commit();
    }
    public void onRemoveFragment(FragmentManager mFragmentManager, Fragment mFragment){
        mFragmentManager.beginTransaction()
                .setCustomAnimations(R.anim.fragment_fade_enter, 0)
                .remove(mFragment)
                .addToBackStack(null)
                .commit();
    }
    public void onBackFragment(FragmentManager mFragmentManager, Fragment mFragment){
        if(mFragmentManager.getBackStackEntryCount() > 0) {
            mFragmentManager.popBackStack(mFragment.getTag(), 0);
            //getActivity().getSupportFragmentManager().popBackStack(new CampaignFragment().getTag(), 0);
        }
    }
    public void onShowFragmentDialog(FragmentManager mFragmentManager, BottomSheetDialogFragment mFragment){
        mFragment.setCancelable(false);
        mFragment.show(mFragmentManager, mFragment.getTag());
    }
    
}
Mustofa Kamal
  • 616
  • 7
  • 13