title: How to enable back press to close nav drawer on fragment only
body: <p>I have implemented a navigation drawer for my fragment hence would like to know what's the best way to implement the back pressed feature for fragments only as well as where the code necessarily needs to go? I've used some back pressed code below but it doesn't work.</p>
  
  <p><strong>activity class</strong></p>
  
  <pre><code>public class BakerlooHDNActivity extends AppCompatActivity {
  
      //save our header or result
      private Drawer result = null;
  
      private int getFactorColor(int color, float factor) {
          float[] hsv = new float[3];
          Color.colorToHSV(color, hsv);
          hsv[2] *= factor;
          color = Color.HSVToColor(hsv);
          return color;
      }
  
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.activity_bakerloo_hdn);
  
  
  
          LocalBroadcastManager.getInstance(this).registerReceiver(onNotice, new IntentFilter("BACKPRESSED_TAG"));
  
  
          final String actionBarColor = "#B36305";
  
          Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar);
          setSupportActionBar(mToolbar);
  
          if(getSupportActionBar()!=null) {
              getSupportActionBar().setDisplayHomeAsUpEnabled(true);
              getSupportActionBar().setDisplayShowHomeEnabled(false);
              getSupportActionBar().setTitle(Html.fromHtml("&lt;font color='#FFFFFF'&gt;" + getResources().getString(R.string.hdn) + "&lt;/font&gt;"));
  
              final Drawable upArrow = ContextCompat.getDrawable(this, R.drawable.abc_ic_ab_back_mtrl_am_alpha);
              upArrow.setColorFilter(getResources().getColor(R.color.white), PorterDuff.Mode.SRC_ATOP);
              getSupportActionBar().setHomeAsUpIndicator(upArrow);
          }
  
          if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.LOLLIPOP) {
              Window window = getWindow();
              window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
              getWindow().setStatusBarColor(getFactorColor(Color.parseColor(actionBarColor), 0.8f));
          }
  
          // start of navigation drawer
          AccountHeader headerResult = new AccountHeaderBuilder()
              .withActivity(this)
              .withCompactStyle(true)
              .withHeaderBackground(R.color.bakerloo)
              .withProfileImagesVisible(false)
              .withTextColor(Color.parseColor("#FFFFFF"))
              .withSelectionListEnabled(false)
  
              .addProfiles(
                      new ProfileDrawerItem().withName(getString(R.string.hello)).withEmail(getString(R.string.world))
              )
              .build();
  
          result = new DrawerBuilder()
              .withActivity(this)
              .withAccountHeader(headerResult)
              .withTranslucentStatusBar(false)
              .withActionBarDrawerToggle(false)
              .withSelectedItem(-1)
              .addDrawerItems(
                      new SectionDrawerItem().withName(R.string.other_lines_nocaps).setDivider(false),
                      new PrimaryDrawerItem().withName(R.string.hello_world).withIdentifier(1).withCheckable(false)
              )
              .build();
          // end of navigation drawer
      }
  
  
      @Override
      public void onBackPressed() {
          if (result.isDrawerOpen()) {
              result.closeDrawer();
          } else {
              super.onBackPressed();
          }
  
          LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent("BACKPRESSED_TAG"));
      }
  }
  </code></pre>
  
  <p><strong>fragment class</strong></p>
  
  <pre><code>public class FragmentBakerlooHDN extends android.support.v4.app.Fragment {
  
      public FragmentBakerlooHDN() {
          // Required empty constructor
      }
  
      BroadcastReceiver onNotice = new BroadcastReceiver() {
          @Override
          public void onReceive(Context context, Intent intent) {
              // do stuff when back in activity is pressed
               headerResult.closeDrawer();
          }
      };
  
      // Declaring navigation drawer
      private AccountHeader headerResult = null;
      private Drawer result = null;
  
  
      /**
       * Whether or not the activity is in two-pane mode, i.e. running on a tablet
       * device.
       */
      private boolean mTwoPane;
  
      @Override
      public void onCreate(Bundle savedInstanceState) {
          LocalBroadcastManager.getInstance(getActivity()).registerReceiver(onNotice, new IntentFilter("BACKPRESSED_TAG"));
  
          super.onCreate(savedInstanceState);
      }
  
      public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
          View v = inflater.inflate(R.layout.fragment_bakerloo_hdn, container, false);
  
  
          headerResult = new AccountHeaderBuilder()
                  .withActivity(getActivity())
                  .withCompactStyle(true)
                  .withHeaderBackground(R.color.bakerloo)
                  .withProfileImagesVisible(false)
                  .withTextColor(Color.parseColor("#FFFFFF"))
                  .withSelectionListEnabled(false)
  
                  .addProfiles(
                          new ProfileDrawerItem().withName(getString(R.string.hdn)).withEmail(getString(R.string.hello_world))
                  )
                  .build();
  
          result = new DrawerBuilder()
                  .withActivity(getActivity())
                  .withAccountHeader(headerResult)
                  .withTranslucentStatusBar(false)
                  .withActionBarDrawerToggle(false)
                  .withSelectedItem(-1)
                  .addDrawerItems(
                  new PrimaryDrawerItem().withName(R.string.hello_world).withIdentifier(1).withCheckable(false)
                  )
                  .build();
  
  
          super.onCreate(savedInstanceState);
          return v;
      }
  
      @Override
      public void onActivityCreated(Bundle savedInstanceState) {
          View v = getView();
  
          super.onActivityCreated(savedInstanceState);
      }
  }
  </code></pre>