title: Close Soft Keyboard in Fragment
body: <p>I have a fragment that has a SearchView.  When I click in the search box the keyboard appears.  I enter a search term and press "Enter" the keyboard disappears and I get my results page.  When I choose an item in my list of results I am taken back to the search fragment and the keyboard reappears.  How to I not have the keyboard reappear?  Here is part of my code:</p>
  
  <pre><code>public class LocationFragment extends ListFragment implements OnItemLongClickListener, OnClickListener{
      // ===========================================================
      // Constants
      // ===========================================================
      private static final int BTN_ID = 0x5f000001;
      private static final String DEBUG_TAG = "Tablet/LocationFragment";
      // ===========================================================
      // Fields
      // ===========================================================
      private int pos;
      private int mPositionToDelete = 0;
      private FragmentListener listener;
      private Activity mActivity;
  
      // ===========================================================
      // Lifecycle
      // ===========================================================
      @Override
      public void onAttach(Activity activity) {
          mActivity = activity;
          super.onAttach(activity);
          try {
              listener = (FragmentListener) activity;
          } catch (ClassCastException e) {
              throw new ClassCastException(activity.toString() + " must implement Fragment");
          }
      }
      @Override
      public void onCreate(Bundle icicle) {
          super.onCreate(icicle);
      }
      @Override
       public View onCreateView(LayoutInflater inflater, ViewGroup container,
                  Bundle savedInstanceState){
          View v = inflater.inflate(R.layout.locations_tile, null);
          SearchManager sm = (SearchManager)getActivity().getSystemService(Context.SEARCH_SERVICE);
          final SearchView sv = (SearchView)v.findViewById(R.id.search_view);
          sv.setSearchableInfo(sm.getSearchableInfo(getActivity().getComponentName()));
          sv.setSubmitButtonEnabled(true);
          consumeKeyUp(sv);
          return v;
      }
      @Override
      public void onActivityCreated(Bundle savedInstanceState) {
          super.onActivityCreated(savedInstanceState);
          final ListView lv = getListView();
          lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
          lv.setItemChecked(pos, true);
          lv.setSelector(R.xml.location_select_gradient);
          lv.setCacheColorHint(0x00000000);
          lv.setSelector(R.drawable.list_item_selector);
          lv.setOnItemLongClickListener(this);
          lv.setOnKeyListener(new OnKeyListener() {
  
              @Override
              public boolean onKey(View v, int keyCode, KeyEvent event) {
                  // TODO Auto-generated method stub
                  if (event.getAction() == KeyEvent.ACTION_DOWN) {
                      switch(keyCode) {
                          case KeyEvent.KEYCODE_DPAD_DOWN:
  //                          Log.i(DEBUG_TAG, "onkeyDown");
                              return !(lv.getSelectedItemPosition() &lt; lv.getCount() - 1);
                          case KeyEvent.KEYCODE_DPAD_UP:
  //                          Log.i(DEBUG_TAG, "onkey up");
                              if(lv.getSelectedItemPosition() == 0) {
  //                              Log.i(DEBUG_TAG, " requesting for search focused");
                                  return LocationFragment.this.getView().findViewById(R.id.search_view).requestFocus();
                              } else return false;
                          case KeyEvent.KEYCODE_DPAD_RIGHT:
                              Log.i(DEBUG_TAG, "KEYCODE_DPAD_RIGHT");
                              return true;
                      }
                      return false;
                  }
                  return false;
              }
          });
  
          ImageView closeBtn = (ImageView) getView().findViewById(R.id.locationsCloseButton);
          closeBtn.setOnClickListener(this);
          closeBtn.setFocusable(true);
          closeBtn.setOnFocusChangeListener(new OnFocusChangeListener() {
  
              @Override
              public void onFocusChange(View v, boolean hasFocus) {
                  if (hasFocus) {
                      v.setOnKeyListener(new OnKeyListener() {
                          @Override
                          public boolean onKey(View v, int keyCode, KeyEvent event) {
                              if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
                                  Log.i(DEBUG_TAG, "keypad Center");
                                  return false;
                              }
                              if (event.getAction() == KeyEvent.ACTION_DOWN) {
                                  return !(KeyEvent.KEYCODE_DPAD_DOWN == keyCode);
                              }
                              return false;
                          }
                      });
                  } else {
                      v.setOnKeyListener(null);
                  }
  
              }
          });
      }
  </code></pre>