android - EditText 上的 Done 按钮的监听器并在用户未按 Done 按钮时清除 EditText?

标签 android android-edittext focus

我有一个 EditText,我想听听用户是否按下键盘上的“完成”按钮,我还想在用户没有按下软键盘上的“完成”按钮时清除 EditText,我该怎么做?

最佳答案

要检查用户是否按下了软键盘的“完成”按钮,请使用以下代码:

edittext.setOnEditorActionListener(new TextView.OnEditorActionListener() {
    @Override
    public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
        if(i== EditorInfo.IME_ACTION_DONE){
            Toast.makeText(getApplicationContext(),"Done pressed",Toast.LENGTH_SHORT).show();
        }
        return false;
    }
});

要在更改焦点后清除 edittext 的文本,请使用以下代码:

edittext.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View view, boolean hasFocus) {
        if(!hasFocus){
            edittext.setText("");
        }
    }
});

关于android - EditText 上的 Done 按钮的监听器并在用户未按 Done 按钮时清除 EditText?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47171393/

相关文章:

android - Android中如何处理多屏+动态控件?

android - 在一行中对齐和调整textview和edittext的宽度

Android 应用程序因 main.xml 中的 TextColor 而崩溃

android - 设置 EditText 的 Icon 和 Hint 之间的 Margin

javascript - 如何动态移动到网页底部

android - 我想创建一个+评分系统

android - 前景在真实设备中不可见但在模拟器中可见

java - 计算两个字符串时,它在 TextView 中返回为 nullnull

html - 在 IE 中将鼠标悬停在 html 按钮上时焦点类型 css

javascript - 当 children 集中注意力时,焦点控制的下拉菜单关闭