• 软键盘搜索键监听;java.lang.IllegalStateException: focus search returned a view that wasn't able to take focus!问题的解决办法


    问题发现:

    测试人员在点击搜索框,在不输入任何搜索条件的情况下,点击软键盘右下角搜索按键,出现报错

    java.lang.IllegalStateException: focus search returned a view that wasn't able to take focus

    问题原因:

    EditText的setOnKeyListener()监听最后return为 false;

    错误的解决办法:

    把return false 改为return true;

      etSearchTitle.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View view, int i, KeyEvent keyEvent) {
                if (i == KeyEvent.KEYCODE_ENTER && keyEvent.getAction() == KeyEvent.ACTION_DOWN) {
                    //点击软键盘搜索
                    Editable editable = etSearchTitle.getText();
                    int len = editable.length();
                    if (len > 0) {
                       
                    } else {
                       
                    }
    
                }
                //return false;
                return true;
            }
        });

     在这样暴力的直接把false 改为true时,当你EditText输入完内容,想撤销自己输入的内容时,点击软键盘的撤销键是不好用的。

    因此,再次进行更改

    最终的解决办法:

      etSearchTitle.setOnKeyListener(new View.OnKeyListener() {
                @Override
                public boolean onKey(View view, int i, KeyEvent keyEvent) {
                    if (i == KeyEvent.KEYCODE_ENTER) {
                        if (!StringUtils.isNullOrEmpty(etSearchTitle.getText().toString().trim())) { //此方法是判读EditText的输入框内是否有数据
                            if (keyEvent.getAction() == KeyEvent.ACTION_DOWN) {
                             
                                Editable editable = etSearchTitle.getText();
                                int len = editable.length();
                                if (len > 0) {
                                 
                                } else {
                                 
                                }
                            }
                        } else {
                            //在输入框数据为空时,返回true
    return true; } } return false; } });


  • 相关阅读:
    markdown 常用语法 (在macdown内使用正常)
    C# MessageBox常用用法
    C# 正则表达式匹配汉字
    C# 可视化读取文件、文件夹
    Xcode UUID查询
    Xcode 常用快捷键
    iOS __weak __strong WeakSelf StrongSelf
    iOS 图形图像动画 Core Animation
    iOS Runtime学习笔记
    iOS NSDate本地化
  • 原文地址:https://www.cnblogs.com/niupi/p/11907208.html
Copyright © 2020-2023  润新知