SearchView中onQueryTextSubmit方法执行两次的解决方法

main_searchview.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        LogUtil.d(TAG, "=====query=123456"+main_searchview.getQuery());
        main_searchview.setIconified(true);
    }
});
//设置搜索文本监听
main_searchview.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
    //当点击搜索按钮或扫码枪扫描时触发该方法
    @Override
    public boolean onQueryTextSubmit(String query) {
        main_searchview.setIconified(true);
       return true;
    }

    //当搜索内容改变时触发该方法
    @Override
    public boolean onQueryTextChange(String newText) {
       // LogUtil.e(TAG,"=====new123456Text="+newText);
        return false;
    }
});

在main_searchview相应按钮或扫码枪回调接口添加main_searchview.setIconified(true); 即可解决问题,避免二次回调

你可能感兴趣的:(android移动开发)