title: The same floating action button on different fragments
body: <p>I'm using a <code>FragmentStatePagerAdapter</code> to show a list of fragments, every fragment has a floating action button. When I swipe to change between fragments obviously the floating action button change too, so my question is, is it possible to maintain only a floating action button doesn't change when I swipe between fragments?</p>
  
  <p>The activity code</p>
  
  <pre><code>package client.tclient.com.client;
  
  import android.net.Uri;
  import android.os.Bundle;
  import android.support.design.widget.FloatingActionButton;
  import android.support.v4.app.Fragment;
  import android.support.v4.view.ViewPager;
  import android.support.v4.widget.SwipeRefreshLayout;
  import android.support.v7.app.AppCompatActivity;
  import android.widget.ListView;
  
  import java.util.ArrayList;
  import java.util.List;
  
  public class FollowingActivity extends AppCompatActivity implements TweetFragment.OnFragmentInteractionListener{
  
      ListView homeList;
      SwipeRefreshLayout mySwipeRefreshLayout;
      FloatingActionButton fab;
  
      MyPagerAdapter mPagerAdapter;
      ViewPager mviewPager;
      private List&lt;Fragment&gt; listaFragments;
  
      @Override
      protected void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_following);
          getSupportActionBar().setDisplayShowTitleEnabled(false);
  
  
          listaFragments = new ArrayList&lt;Fragment&gt;();
          listaFragments.add(TweetFragment.newInstance(1));
          listaFragments.add(TweetFragment.newInstance(2));
          listaFragments.add(TweetFragment.newInstance(3));
  
  
          // Creamos nuestro Adapter
          mPagerAdapter = new MyPagerAdapter(getSupportFragmentManager(),
                  listaFragments);
  
          // Instanciamos nuestro ViewPager
          mviewPager = (ViewPager) findViewById(R.id.viewPager);
  
          // Establecemos el Adapter
          mviewPager.setAdapter(mPagerAdapter);
  
      }
  
      @Override
      public void onFragmentInteraction(Uri uri) {
  
      }
  
  }
  </code></pre>
  
  <p>the fragment code</p>
  
  <pre><code>package client.tclient.com.client;
  
  import android.content.Context;
  import android.net.Uri;
  import android.os.Bundle;
  import android.support.design.widget.FloatingActionButton;
  import android.support.design.widget.Snackbar;
  import android.support.v4.app.Fragment;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.TextView;
  
  
  /**
   * A simple {@link Fragment} subclass.
   * Activities that contain this fragment must implement the
   * {@link TweetFragment.OnFragmentInteractionListener} interface
   * to handle interaction events.
   * Use the {@link TweetFragment#newInstance} factory method to
   * create an instance of this fragment.
   */
  public class TweetFragment extends Fragment {
      // TODO: Rename parameter arguments, choose names that match
      // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER
      private static final String ARG_PARAM1 = "param1";
      private static final String ARG_PARAM2 = "param2";
  
      // TODO: Rename and change types of parameters
      private String mParam1;
      private String mParam2;
  
      private OnFragmentInteractionListener mListener;
  
      public static final TweetFragment newInstance(long id){
          TweetFragment tf = new TweetFragment();
          Bundle bundle = new Bundle(1);
          bundle.putLong("TWEET_ID",id);
          tf.setArguments(bundle);
  
          return tf;
      }
      public TweetFragment() {
          // Required empty public constructor
      }
  
  
      /**
       * Use this factory method to create a new instance of
       * this fragment using the provided parameters.
       *
       * @param param1 Parameter 1.
       * @param param2 Parameter 2.
       * @return A new instance of fragment TweetFragment.
       */
      // TODO: Rename and change types and number of parameters
      public static TweetFragment newInstance(String param1, String param2) {
          TweetFragment fragment = new TweetFragment();
          Bundle args = new Bundle();
          args.putString(ARG_PARAM1, param1);
          args.putString(ARG_PARAM2, param2);
          fragment.setArguments(args);
          return fragment;
      }
  
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          if (getArguments() != null) {
              mParam1 = getArguments().getString(ARG_PARAM1);
              mParam2 = getArguments().getString(ARG_PARAM2);
          }
      }
  
      @Override
      public View onCreateView(LayoutInflater inflater, ViewGroup container,
                               Bundle savedInstanceState) {
          // Inflate the layout for this fragment
          View inflate = inflater.inflate(R.layout.fragment_tweet, container, false);
          TextView text =(TextView) inflate.findViewById(R.id.text);
          text.setText(Long.toString(getArguments().getLong("TWEET_ID")));
  
          FloatingActionButton fab = (FloatingActionButton) inflate.findViewById(R.id.fab);
          fab.setOnClickListener(new View.OnClickListener() {
              @Override
              public void onClick(View view) {
                  Snackbar.make(view, "Se presionó el FAB", Snackbar.LENGTH_LONG)
                          .setAction("Action", null).show();
              }
          });
  
          return inflate;
      }
  
      // TODO: Rename method, update argument and hook method into UI event
      public void onButtonPressed(Uri uri) {
          if (mListener != null) {
              mListener.onFragmentInteraction(uri);
          }
      }
  
      @Override
      public void onAttach(Context context) {
          super.onAttach(context);
          if (context instanceof OnFragmentInteractionListener) {
              mListener = (OnFragmentInteractionListener) context;
          } else {
              throw new RuntimeException(context.toString()
                      + " must implement OnFragmentInteractionListener");
          }
      }
  
      @Override
      public void onDetach() {
          super.onDetach();
          mListener = null;
      }
  
      /**
       * This interface must be implemented by activities that contain this
       * fragment to allow an interaction in this fragment to be communicated
       * to the activity and potentially other fragments contained in that
       * activity.
       * &lt;p/&gt;
       * See the Android Training lesson &lt;a href=
       * "http://developer.android.com/training/basics/fragments/communicating.html"
       * &gt;Communicating with Other Fragments&lt;/a&gt; for more information.
       */
      public interface OnFragmentInteractionListener {
          // TODO: Update argument type and name
          void onFragmentInteraction(Uri uri);
      }
  }
  </code></pre>