title: android.view.View.setVisibility(int) crashes the new activity
body: <p>So recently I'm trying to implement a FAB that will expand into a new activity but it crashes after the FAB was pressed.
  Moreover from this question where I followed the steps on implementing it: <a href="https://stackoverflow.com/questions/31624935/floatingactionbutton-expand-into-a-new-activity">FloatingActionButton expand into a new activity</a></p>
  
  <p>Logcat:</p>
  
  <pre><code>Process: com.example.jovie.canteen, PID: 6953
  java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setVisibility(int)' on a null object reference
      at com.example.jovie.canteen.Home$1$2.run(Home.java:105)
      at android.os.Handler.handleCallback(Handler.java:739)
      at android.os.Handler.dispatchMessage(Handler.java:95)
      at android.os.Looper.loop(Looper.java:148)
      at android.app.ActivityThread.main(ActivityThread.java:5417)
      at java.lang.reflect.Method.invoke(Native Method)
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
  </code></pre>
  
  <p>Home.java</p>
  
  <pre><code>public class Home extends AppCompatActivity
      implements NavigationView.OnNavigationItemSelectedListener {
  CoordinatorLayout homeLayout;
  
  private GoogleApiClient client;
  private Toolbar toolbar;
  private TabLayout tabLayout;
  private ViewPager viewPager;
  private RevealLayout mRevealLayout;
  
  View mViewToReveal;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_home);
      Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
      setSupportActionBar(toolbar);
  
      homeLayout = (CoordinatorLayout) findViewById(R.id.CoordinatorLayout);
      setSupportActionBar(toolbar);
  
      toolbar = (Toolbar) findViewById(R.id.toolbar);
      setSupportActionBar(toolbar);
  
      getSupportActionBar().setDisplayHomeAsUpEnabled(true);
  
      viewPager = (ViewPager) findViewById(R.id.viewpager);
      setupViewPager(viewPager);
  
      tabLayout = (TabLayout) findViewById(R.id.tabs);
      tabLayout.setupWithViewPager(viewPager);
  
      mRevealLayout = (RevealLayout) findViewById(R.id.reveal_layout);
      final View mRevealView=(View)
              findViewById(R.id.reveal_view);
  
       final FloatingActionButton mFab = (FloatingActionButton) findViewById(R.id.fab);
      mFab.setOnClickListener(new View.OnClickListener() {
  
  
  
          @Override
          public void onClick(View v) {
              mFab.setClickable(false); // Avoid naughty guys clicking FAB again and again...
              int[] location = new int[2];
              mFab.getLocationOnScreen(location);
              location[0] += mFab.getWidth() / 2;
              location[1] += mFab.getHeight() / 2;
  
              final Intent intent = new Intent(Home.this, SearchActivity.class);
  
              mRevealView.setVisibility(View.VISIBLE);
              mRevealLayout.setVisibility(View.VISIBLE);
  
              mRevealLayout.show(location[0], location[1]); // Expand from center of FAB. Actually, it just plays reveal animation.
              mFab.postDelayed(new Runnable() {
                  @Override
                  public void run() {
                      startActivity(intent);
                      /**
                       * Without using R.anim.hold, the screen will flash because of transition
                       * of Activities.
                       */
                      overridePendingTransition(0, R.anim.hold);
                  }
              }, 600); // 600 is default duration of reveal animation in RevealLayout
              mFab.postDelayed(new Runnable() {
                  @Override
                  public void run() {
                      mFab.setClickable(true);
                      mRevealLayout.setVisibility(View.INVISIBLE);
                      mViewToReveal.setVisibility(View.INVISIBLE);
                  }
              }, 960); // Or some numbers larger than 600.
          }
      });
  
  
      client = new GoogleApiClient.Builder(Home.this).addApi(AppIndex.API).build();
  
      DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
      ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
              this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
      drawer.setDrawerListener(toggle);
      toggle.syncState();
  
      NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
      navigationView.setNavigationItemSelectedListener(this);
  
  
  
  }
  </code></pre>
  
  <p>activity_home.xml</p>
  
  <p></p>
  
  <pre><code>&lt;com.example.jovie.canteen.RevealLayout
      android:id="@+id/reveal_layout"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:visibility="invisible"&gt;
  
      &lt;View
          android:id="@+id/reveal_view"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:visibility="invisible"/&gt;
  
  &lt;/com.example.jovie.canteen.RevealLayout&gt;
  
  &lt;include
      layout="@layout/app_bar_home"
      android:layout_width="match_parent"
      android:layout_height="match_parent" /&gt;
  
  &lt;android.support.design.widget.NavigationView
      android:id="@+id/nav_view"
      android:layout_width="wrap_content"
      android:layout_height="match_parent"
      android:layout_gravity="start"
      android:fitsSystemWindows="true"
      app:headerLayout="@layout/nav_header_home"
      app:menu="@menu/activity_home_drawer"
      android:background="#ffffff" /&gt;
  </code></pre>
  
  <p></p>
  
  <p>However the null on <code>android.view.View.setVisibility(int)</code> is pointing at <code>mViewToReveal.setVisibility(View.INVISIBLE);</code> and not sure where exactly I need to look for, please help.</p>