0

以前我有一个EditTextwith aonTextChangedListener来处理用户的搜索查询。这是这样做的:

ed.addTextChangedListener(new TextWatcher() {

            @Override
            public void onTextChanged(CharSequence arg0, int arg1, int arg2,
                    int arg3) {

                textLength = ed.getText().length();
                list.clear();
                isPresent = initIsPresentArray();

                for (int i = 0; i < tempList.length; i++) {
                    for (int j = 0; j < (tempList[i].length() - (textLength - 1)); j++) {
                        if (textLength <= tempList[i].length()) {
                            if (isPresent[i] == false) {
                                if (ed.getText()
                                        .toString()
                                        .equalsIgnoreCase(
                                                (String) tempList[i]
                                                        .subSequence(
                                                                j,
                                                                (j + textLength)))) {
                                    list.add(tempCaseList.get(i));
                                    isPresent[i] = true;
                                }
                            }
                        }
                    }
                    if (list.size() == 0) {
                        error.setText(getResources().getString(R.string.notFound));
                        v.setVisibility(View.GONE);
                    } else {
                        error.setText("");
                        v.setVisibility(View.VISIBLE);
                    }

                    lv.setAdapter(new CustomAdapter(History.this, list));
                }
            }
        });

这段讨厌的代码会在用户输入要搜索的内容时动态更新 ListView。它与EditText. 现在,我正在为我的项目实施 ActionBarSherlock,并希望使用 SearchWidget:

在此处输入图像描述

我夸大了我的菜单:

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getSupportMenuInflater();
        inflater.inflate(R.menu.actionbarmenu, menu);
        SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
        SearchView searchView = (SearchView)menu.findItem(R.id.searchCases).getActionView();
        searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
        searchView.setIconifiedByDefault(true);
        searchView.setSubmitButtonEnabled(true);
        return true;
    }

如何将与 相同的行为OnTextChangedListener应用于 this SearchView?可能吗?

4

0 回答 0