java - 如何实现MM格式的EditText月份

标签 java android android-edittext

我有一个 EditText 组件,用于获取月份输入。

我想要的是,如果用户输入“1”,则 EditText 应自动显示“01”。然后,如果用户输入 2EditText 将显示“02”。

事实上,我希望我的 EditText 始终显示两位数字。如何设置其格式以显示 MM

最佳答案

尝试将 onFocusChangeListener 添加到 EditText

yourEditText.setOnFocusChangeListener(new OnFocusChangeListener() {
    @Override
    public void onFocusChange(View view, boolean hasFocus) {
        if (!hasFocus) {
            EditText edt = (EditText) view;  
            if(!TextUtils.isEmpty(edt.getText()) && edt.getText().toString().trim().length < 2) {
              edt.setText("0" + edt.getText().toString().trim());
            }
        } 
    }
});

此外,在 EditText xml 标记中添加以下内容

android:maxLength="2"

关于java - 如何实现MM格式的EditText月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57009547/

相关文章:

java - Executors.newSingleThreadExecutor() - 如何查看队列中有多少任务

java - 我在 Android 环境下工作时找不到 keytool?

android - 新SDK的兼容性

java - 如何在动态定义的 Runnable 内部访问方法参数

java - Android - 如何获取 EditText(数字)然后将其转换为整数以用于数学?

java - 如何在gRPC拦截器中访问消息请求?

android - 如何将内容有时比屏幕宽的 Android 表格居中?

android - setFocusable 按钮点击

Android Edittext可见字符但没有自动完成

java - 具有 Hibernate 3 验证注释的 Hibernate 4 validator