EditText控件的文本输入与自动格式化日期

蜗牛 互联网技术资讯 2024-08-22 9 0
// 获取EditText控件
EditText editText = findViewById(R.id.editText);

// 设置InputType为日期格式
editText.setInputType(InputType.TYPE_CLASS_DATETIME);
editText.setKeyListener(DigitsKeyListener.getInstance("0123456789/"));

// 设置文本输入监听
editText.addTextChangedListener(new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
        // 在文本改变之前执行的操作
    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        // 在文本改变时执行的操作
    }

    @Override
    public void afterTextChanged(Editable s) {
        // 在文本改变之后执行的操作
        String input = editText.getText().toString();
        
        // 自动格式化日期,例如将输入的数字转换成日期格式
        if (input.length() == 8) {
            String formattedDate = input.substring(0, 2) + "/" + input.substring(2, 4) + "/" + input.substring(4);
            editText.setText(formattedDate);
            editText.setSelection(formattedDate.length());
        }
    }
});
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo6@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论Telegram