6

私はを使用していてsearchView、誰かが検索を呼び出したときにデータを渡そうとしています。だから私はonSearchReqestedメソッドを無効にしました。問題は、誰かSearchViewがキーボードの虫眼鏡を入力して押したときに、このメソッドが呼び出されないことです。代わりに、結果アクティビティが開始されます。

onSearchRequested誰かが虫眼鏡を押したときに結果アクティビティを開始する前に、メソッドを呼び出すにはどうすればよいですか。

私はこれを2つ試しましたが、うまくいきませんでした。

@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();

    }
});

助けてくれてありがとう。

4

1 に答える 1

11

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;
    }
});
于 2012-09-27T18:31:57.463 に答える