private void showPickerFragment(PickerFragment<?> fragment) {
    fragment.setOnErrorListener(
        new PickerFragment.OnErrorListener() {
          public void onError(PickerFragment<?> pickerFragment, FacebookException error) {
            showAlert("error", error.getMessage());
          }
        });

    FragmentManager fm = getSupportFragmentManager();
    fm.beginTransaction().replace(R.id.fragment_container, fragment).addToBackStack(null).commit();

    controlsContainer.setVisibility(View.GONE);

    // We want the fragment fully created so we can use it immediately.
    fm.executePendingTransactions();

    fragment.loadData(false);
  }