Android - SearchView删除键入的字母

时间:2013-12-07 10:26:23

标签: android android-fragments android-menu searchview android-searchmanager

我不明白怎么做,但直到昨天工作都很好......现在我改变了一些事情并发生了,每当我在顶部菜单上的应用程序的搜索框中输入内容时,每个字母我类型立即被删除。如果我粘贴一个较长的单词,它的字母会被逐个快速删除 - 我可以在setOnQueryTextListener上的回调函数中看到这个:每次删除一个字母时都会调用该函数,所以如果我粘贴一个带有5个字母的单词,即。 “你好”,快速触发“Hello”,“Hell”,“Hel”,“He”,“H”等功能......我的盒子空了。

我真的想不出有任何理由发生这种情况。

这就是我实施它的方式。

menu_basic.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:id="@+id/menu_basic_search"
        android:actionViewClass="com.actionbarsherlock.widget.SearchView"
        android:icon="@drawable/react_search"
        android:showAsAction="ifRoom|collapseActionView"
        android:title="@string/description_search"/>

    <item android:id="@+id/menu_basic_menu"
        android:title="@string/description_menu"
        android:icon="@drawable/react_menu"
        android:showAsAction="always" />

</menu>

我的片段.java

    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        menu.clear();
        inflater.inflate(R.menu.menu_basic, menu);
        (getSherlockActivity()).getSupportActionBar().setHomeButtonEnabled(true);

        SearchManager searchManager = (SearchManager) getSherlockActivity().getSystemService(Context.SEARCH_SERVICE);
        SearchView searchView = (SearchView) menu.findItem(R.id.menu_basic_search).getActionView();
        if (null != searchView )
        {
            searchView.setSearchableInfo(searchManager.getSearchableInfo(getSherlockActivity().getComponentName()));
            searchView.setIconifiedByDefault(false);
        }

        SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() 
        {
            @Override
            public boolean onQueryTextChange(String newText) 
            {
                Log.i("SEARCH newText", newText);
                return true;
            }

            @Override
            public boolean onQueryTextSubmit(String query) 
            {
                Log.i("SEARCH query", query);
                return true;
            }
        };
        searchView.setOnQueryTextListener(queryTextListener);
    }

除此之外,我在代码上找不到任何其他对SearchView的引用。

知道问题出在哪里?

0 个答案:

没有答案