2013-07-15 59 views
1

我有動作欄搜索菜單。當我點擊搜索圖標時,它會顯示焦點和軟鍵盤。我想使用onBackPressed事件重置搜索。當我第一次按下後退按鈕時,軟鍵盤將被隱藏起來。我再次按下按鈕,搜索視圖將被重置並摺疊。使用後退按鈕重置動作欄搜索

我試圖在這樣一個方式,但未能

@Override 
    public void onBackPressed() { 
     // It's expensive, if running turn it off. 
     // DataHelper.cancelSearch(); 
     hideKeyboard(); 
     super.onBackPressed(); 
    } 
    private void hideKeyboard() { 
     InputMethodManager imm = (InputMethodManager) 
      getSystemService(Context.INPUT_METHOD_SERVICE); 
     imm.hideSoftInputFromWindow(mSearchView.getWindowToken(), 0); 
    } 

我的代碼隱藏鍵盤,但是當我再次按下後退按鈕將定位於先前的意圖。

回答

0

停止調用超級方法,那麼你將不會轉移到以前的活動,只有軟鍵盤將被隱藏。

@Override 
    public void onBackPressed() { 
     // It's expensive, if running turn it off. 
     // DataHelper.cancelSearch(); 
     hideKeyboard(); 
     //super.onBackPressed(); 
    } 

現在你可以做任何你想做的事情。

+0

但是當我再次按下一個按鈕時,搜索視圖將被摺疊。 –

+0

我需要導航到之前的活動,但合併後的搜索視圖。 –