正在使用SearchView编写的Android保存文本

时间:2015-09-18 15:31:16

标签: android searchview

我试图获取正在searchView上编写的文本并将其保存到我稍后将要使用的变量中。我知道SearchView有一个OnQueryTextListener,但我不知道在哪里使用它来捕获这些事件。这就是我到目前为止所做的。

 SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String s) {
            Log.d("Debug", "text is submitted");
            return false;
        }

        @Override
        public boolean onQueryTextChange(String s) {
            Log.d("Debug", "text has changed");
            return false;
        }
    };

    searchView.setOnQueryTextListener(queryTextListener);

但是我不知道在哪里使用它,现在它正在处理搜索建议的代码的这一部分被调用:

protected void onNewIntent(Intent intent) {
    SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() {
        @Override
        public boolean onQueryTextSubmit(String s) {
            Log.d("Debug", "text is submitted");
            return false;
        }

        @Override
        public boolean onQueryTextChange(String s) {
            Log.d("Debug", "text has changed");
            name = s;
            return false;
        }
    };

    searchView.setOnQueryTextListener(queryTextListener);

    if (ContactsContract.Intents.SEARCH_SUGGESTION_CLICKED.equals(intent.getAction())) {
        //handles suggestion clicked query
        String displayName = getDisplayNameForContact(intent);
        String displayPhone = getDisplayPhoneForContact(intent);
        name = displayName;
        phone.setText(displayPhone);
        searchView.setQuery(displayName, false);
        searchView.clearFocus();

    } else if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
        // handles a search query
       name = intent.getStringExtra(SearchManager.QUERY);
       //name = (String)searchView.getQuery();
       searchView.clearFocus();
    }
}

0 个答案:

没有答案