当前位置: 首页 > 知识库问答 >
问题:

如何检测Edittext是否失去焦点?

谢选
2023-03-14

我希望能够检测编辑文本何时没有被点击,这样我就可以用文本视图替换它。我试过了

et.setOnFocusChangeListener(new OnFocusChangeListener() {    
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                if (!v.hasFocus()){
                    Toast.makeText(getApplicationContext(), "LOST FOCUS", Toast.LENGTH_SHORT).show();
                }
            }
        });

但是祝酒词不会被调用。

共有1个答案

丁曦哲
2023-03-14

您应该使用提供的布尔变量:

if (!hasFocus){

}

当您获得回调时,可能是视图仍然具有焦点,因此v.hasFocus()可能返回true。

 类似资料:
  • 在我的应用程序中,我需要能够捕捉到编辑文本(editText)是否失去了焦点,我已经在java中找到了如何做到这一点,但在kotlin中我还不能找到如何做到这一点。 我找到的Java答案是: 有人能帮我把这个转换成kotlin吗?

  • 当失去焦点时,我需要捕捉,我搜索了其他问题,但没有找到答案。 我这样使用 但是,这对我不起作用。

  • 在我的活动中,我有一个editText字段。当用户点击它时,editText获得焦点并出现键盘。现在,当用户按下手机上的硬件后退按钮时,键盘会消失,但光标仍保留在Edittext中,即它仍然具有焦点。当按下后退按钮时,是否有可能使EditText失去焦点?我尝试使用以下代码,但它不起作用:

  • 因此,如果用户输入“1234”,他们将在EditText字段中看到“1234”。但当该字段失去焦点时,我希望它显示“*****” 因此,我实现了一个自定义TransformationMethod,它只会在EditText字段没有焦点时屏蔽输入的文本。 当我输入文本“12345”时,它会显示它应该“12345”,但当我单击不同的字段时,数字永远不会被掩盖。我想看 "*****" 但我仍然看到相同的“

  • 问题内容: 是否有可靠的跨浏览器方式来检测选项卡是否具有焦点。 场景是,我们有一个应用程序会定期轮询股票价格,如果页面没有重点关注,我们可以停止轮询并为每个人节省交通噪音,尤其是当人们热衷于打开具有不同投资组合的多个标签时。 是并且为此选择吗? 问题答案: 是的,并且应该适合您的方案: http://www.thefutureoftheweb.com/blog/detect-browser-win

  • 问题内容: 如何判断bash脚本中是否有错误? 如果有错误,我想简单地说; 问题答案: 以下是一些常见的形式。最佳选择取决于您的工作。您可以在单个脚本中使用任何子集或它们的组合,而不会造成不良影响。