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

时间:2019-07-12 14:59:51

标签: java android android-edittext

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

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

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

1 个答案:

答案 0 :(得分:0)

尝试将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"