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

在EditText中更改焦点时如何显示toast?

丁成弘
2023-03-14

我正在一个活动的登录页面上工作,其中用户名和密码作为两个编辑文本框。当焦点从用户名更改为密码框时,我试图显示Toast消息:-如果在用户名框中输入的文本中有空格-如果没有空格,则不显示Toast。

共有3个答案

宰父浩漫
2023-03-14

您应该为您的两次编辑实现OnFocus usChangeListener,请参阅下面的代码:

 EditText myEdit = (EditText) findViewById(R.id.edit1);

 myEdit .setOnFocusChangeListener(new OnFocusChangeListener() {          

    public void onFocusChange(View v, boolean hasFocus) {
        if (!hasFocus) {
           // Do the check for white spaces and display the Toast
        }
    }
});
经兴安
2023-03-14

您可以为此使用View. OnFocus usChangeListener。

代码示例:

et_uname.setOnFocusChangeListener(new View.OnFocusChangeListener(){
  @Override
  public void onFocusChange(View v, boolean hasFocus) {
     if (hasFocus == false && et_uname.getText().toString() != null && et_uname.getText().toString().contains(" ")){
        Toast.makeText(getActivity(), "Alert", Toast.LENGTH_LONG).show();                   
    }
  }
};

这是为片段完成的。如果是内部活动,则可以更换

getActivity() 

具有

<activityname>.this

这里hasFocus=true表示et_uname当前有焦点,hasFocus=false表示没有焦点。由于您需要在焦点丢失时提醒用户,因此必须为hasFOcus==false添加一个条件。

黄浩涆
2023-03-14
EditText txtEdit = (EditText) findViewById(R.id.edittxt);

 txtEdit.setOnFocusChangeListener(new OnFocusChangeListener() {          

        public void onFocusChange(View v, boolean hasFocus) {
            if (!hasFocus) {
               if (txtEdit.getText().Contains(" ")) {
                 Toast.makeText(context, text, Toast.LENGTH_SHORT).show();
            }
        }
    });

参考号:https://stackoverflow.com/a/10627231/2111834

 类似资料:
  • 我正在做Android智能电视应用: > 在中有一个自定义键盘和一个。 当应用程序启动时,焦点转到键盘。 null

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

  • 但不幸的是,它无法工作。 这是我今天尝试的最后一次尝试,但没有奏效: 和样式:

  • 我创建了一个Jframe,它由Jbutton(Ok)、Jbutton(cancel)、Jtextfield和一个Jtable组成。我想当按下OK按钮时,焦点变为Jtextfield,当按下增益按钮时,焦点变为JTable。 如何在组件之间更改焦点? 这就是我尝试过的: 它只关注JTextfield,但不会将焦点更改为JTable 编辑:我也试过: 但没有奏效 这是整个代码:

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

  • 问题内容: 我有输入要显示格式化的数字。通常,当它没有焦点时,应该显示一个格式化的字符串,例如’$ 50,000.00’。但是当它具有焦点时,它应该显示原始值,例如用于编辑的50000。 有内置功能吗?谢谢! 问题答案: 这是一条指令(),它可以执行您想要的操作。 请注意,只有元素的显示值才被格式化(模型值将始终为未格式化)。 这个想法是您为和事件注册侦听器,并根据元素的焦点状态更新显示值。 另请