2012-09-27 55 views
6

我正在使用searchView,並嘗試在有人調用搜索時傳遞一些數據。所以我推翻了onSearchReqested方法。問題是,當有人輸入SearchView並按下鍵盤上的放大鏡時,不會調用此方法。結果活動開始。如何在按下放大鏡時調用onSearchRequested

當有人按下放大鏡時,如何在開始結果活動之前調用onSearchRequested方法。

我試過這兩個,但它沒有工作。

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.FLAG_EDITOR_ACTION) { 
     onSearchRequested(); 
     return false; 
    } 
    return false; 
} 

添加監聽到搜索查看事先沒有工作,要麼

searchView.setOnSearchClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     onSearchRequested(); 

    } 
}); 

感謝您的幫助。

回答

9

setOnQueryTextListerner終於摸索

searchView.setOnQueryTextListener(new OnQueryTextListener() { 

    @Override 
    public boolean onQueryTextSubmit(String query) { 
     onSearchRequested(); 
     return false; 
    } 

    @Override 
    public boolean onQueryTextChange(String newText) { 
     // TODO Auto-generated method stub 
     return false; 
    } 
});