相关疑难解决方法(0)

SearchView的OnCloseListener不起作用

我正在尝试添加SearchView对Android 3.0+ ActionBar的支持,但我无法让它OnCloseListener工作.

这是我的代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu, menu);
    searchView = (SearchView) menu.findItem(R.id.search_textbox).getActionView();
    searchView.setOnQueryTextListener(new OnQueryTextListener() {
        @Override
        public boolean onQueryTextChange(String newText) {
            searchLibrary(newText);
            return false;
        }
        @Override
        public boolean onQueryTextSubmit(String query) { return false; }
    });
    searchView.setOnCloseListener(new OnCloseListener() {
        @Override
        public boolean onClose() {
            System.out.println("Testing. 1, 2, 3...");
            return false;
        }
    });
    return true;
}
Run Code Online (Sandbox Code Playgroud)

搜索效果很好,每个人都在工作,除了OnCloseListener.没有任何东西被打印到Logcat.这是我按下"关闭"按钮时的Logcat:

02-17 13:01:52.914: I/TextType(446): TextType = 0x0
02-17 13:01:57.344: I/TextType(446): TextType = 0x0
02-17 13:02:02.944: I/TextType(446): …
Run Code Online (Sandbox Code Playgroud)

android android-3.0-honeycomb android-4.0-ice-cream-sandwich android-actionbar

99
推荐指数
7
解决办法
5万
查看次数

检测键盘搜索按钮

我更改android软键盘以显示搜索图标而不是Enter图标.我的问题是:如何检测用户点击该搜索按钮?

java android android-softkeyboard android-edittext

14
推荐指数
1
解决办法
1万
查看次数

当用户点击输入时如何触发操作?

如果(在Android中)我有一个EditText框,当用户输入数据并点击return/Next时,如何触发事件?

我尝试过使用下面的代码,但似乎没有效果.我还从类型new extView.OnEditorActionListener(){}得到一个'方法onEditorAction(EditText,int,KeyEvent)从不在本地使用'错误.

myEditText.setOnEditorActionListener(new EditText.OnEditorActionListener() {
            public boolean onEditorAction(EditText v, int actionId, KeyEvent event) {
                if (actionId == EditorInfo.IME_ACTION_NEXT)
                {
Run Code Online (Sandbox Code Playgroud)

android triggers android-edittext

7
推荐指数
1
解决办法
1万
查看次数

Android SearchView空字符串

我正在尝试使用SearchView,除非我想搜索空字符串,否则我可以使用一切.
当我删除最后一个字符时,onQueryTextChange会做出反应,但我希望用户能够在搜索字段为空时按下搜索按钮.

 final SearchView.OnQueryTextListener queryTextListener = new SearchView.OnQueryTextListener() {
                @Override
                public boolean onQueryTextChange(String newText) {
                    // Do something
                    return true;
                }

                @Override
                public boolean onQueryTextSubmit(String query) {
                    // Do something
                    return true;
                }
            };

        searchView.setOnQueryTextListener(queryTextListener);
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用OnKeyListner.但它似乎也没有用.

            searchView.setOnKeyListener(new OnKeyListener() {
            @Override
            public boolean onKey(View arg0, int arg1, KeyEvent arg2) {

                //Do something
                return true;
            }
        }); 
Run Code Online (Sandbox Code Playgroud)

这似乎是一件很简单的事情,但我无法让它发挥作用.有什么建议?

编辑

我已经找了一段时间的解决方案,在发布这个问题后的几分钟,我找到了解决方案.
在这个帖子中,我发现这不是一个错误,但它实际上是故意的.

Android SearchView.OnQueryTextListener OnQueryTextSubmit未在空查询字符串上触发

所以我刚刚下载了ActionBarSherlock并对onSubmitQuery()方法进行了一些修改

private void onSubmitQuery() {
    CharSequence query = mQueryTextView.getText();
    if (query != null && TextUtils.getTrimmedLength(query) …
Run Code Online (Sandbox Code Playgroud)

java android searchview

6
推荐指数
1
解决办法
5947
查看次数

Android SearchView - 空查询不起作用

我正在尝试将最近的搜索添加到工具栏上的 SearchView:

 mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
    @Override
    public boolean onQueryTextSubmit(String s) {
        return false;
    }

    @Override
    public boolean onQueryTextChange(String s) {
        if (s!= null )
        {
            if (s.isEmpty()){
                loadRecentList();
            }
            else{
                search(s);
            }
        }
        return true;
    }

});
Run Code Online (Sandbox Code Playgroud)

搜索工作正常,但我看不到最近的列表结果。

我发现这个Android SearchView.OnQueryTextListener OnQueryTextSubmit 没有在空查询字符串上触发

但是修改 ActionBar 库并不是一个好的解决方案。

有人有其他解决方案吗?谢谢。

编辑:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.menu_main_activity, menu);
    searchItem = menu.findItem(R.id.btn_earch);
    initSearchView();
    setSearchViewListener();
    return super.onCreateOptionsMenu(menu);
}



 protected void initSearchView() {
    final String CURSOR_RESOURCE_ID = "mCursorDrawableRes";
    final int THRESHOLD …
Run Code Online (Sandbox Code Playgroud)

android searchview

5
推荐指数
2
解决办法
9104
查看次数

如何过滤领域适配器中的数据?

我在过滤域适配器中的数据时遇到了问题.我正在创建searchview以通过过滤realm适配器中的数据来搜索数据.

我的searchview实现代码是

  @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        inflater.inflate(R.menu.main_menu, menu);

        final MenuItem item = menu.findItem(R.id.action_search);
        final SearchView searchView = (SearchView) MenuItemCompat.getActionView(item);
        Log.e("Filter ","Filtering");
        searchView.setOnQueryTextListener(this);

        MenuItemCompat.setOnActionExpandListener(item,
                new MenuItemCompat.OnActionExpandListener() {
                    @Override
                    public boolean onMenuItemActionCollapse(MenuItem item) {
// Do something when collapsed
                        adapter.setFilter(realmPhonecallList);

                        Log.e("Filter 1","Filtering");
                        return true; // Return true to collapse action view
                    }

                    @Override
                    public boolean onMenuItemActionExpand(MenuItem item) {
// Do something when expanded
                        return true; // Return true to expand action view
                    }
                });
    }



    @Override
    public boolean …
Run Code Online (Sandbox Code Playgroud)

android realm

3
推荐指数
1
解决办法
1814
查看次数