How can i send data from Activity to tab fragment when FloatingActionButton is clicked OR where do get it wrong and how can i fix it,I know it has been asked number of times and i tries all solution include this this and this which gave clear explanation but still work for more that 20hr of working i got no error and nothing works.
//float button in main activity
         FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
   fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            String  MyValue=" Hi fragment";
            Bundle bundle = new Bundle();
            bundle.putString("value", MyValue);
          // set Fragmentclass Arguments
            TabFragment1 fragobj = new TabFragment1();
            fragobj.setArguments(bundle);
        }
        });
//In fragment
   @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view =inflater.inflate(R.layout.tab_fragment_1, container, false);
     TextView textView= (TextView)view.findViewById(R.id.textView) ;
    if (getArguments() != null) {
        String MyValue = getArguments().getString("value");
        textView.setText(MyValue);
    }
    return view;
}
//// here is the adapter
             public class PagerAdapter extends FragmentStatePagerAdapter {
      private final SparseArray<WeakReference<Fragment>> 
          instantiatedFragments = new SparseArray<>();
         private ArrayList<String> mTabHeader;
         int mNumOfTabs;
public PagerAdapter(FragmentManager fm, int NumOfTabs) {
    super(fm);
    this.mNumOfTabs = NumOfTabs;
}
@Override
public Fragment getItem(int position) {
    switch (position) {
        case 0:
            TabFragment1 tab1 = new TabFragment1();
            return tab1;
        case 1:
            TabFragment2 tab2 = new TabFragment2();
            return tab2;
        case 2:
            TabFragment3 tab3 = new TabFragment3();
            return tab3;
        default:
            return null;
    }
}
@Override
public int getCount() {
    return mNumOfTabs;
}
@Override
public Object instantiateItem(final ViewGroup container, final int position) {
    final Fragment fragment = (Fragment) super.instantiateItem(container, position);
    instantiatedFragments.put(position, new WeakReference<>(fragment));
    return fragment;
}
@Override
public void destroyItem(final ViewGroup container, final int position, final Object object) {
    instantiatedFragments.remove(position);
    super.destroyItem(container, position, object);
}
@Nullable
public Fragment getFragment(final int position) {
    final WeakReference<Fragment> wr = instantiatedFragments.get(position);
    if (wr != null) {
        return wr.get();
    } else {
        return null;
    }
}
@Override
public CharSequence getPageTitle(int position) {
    return mTabHeader.get(position);
}
}
 
     
    