java在EditText的日期中添加了斜杠
我读了很多类似的问题,但没有人回答我的问题,也没有人能解决我的问题。 我在布局中有这样的编辑文本:
<EditText
安卓:id="@+id/editText2"
安卓:layout_width="248dp"
安卓:layout_height="59dp"
安卓:layout_marginStart="21dp"
安卓:layout_marginTop="36dp"
安卓:width="360dp"
安卓:ems="5"
安卓:hint="@string/ultimos4Dig"
安卓:inputType="number"
安卓:maxLength="10"
安卓:textSize="24sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
我需要的是,当用户写月份和年份的数字时,在他写的时候会出现或消失斜杠。如果他写了两个数字,那么需要出现斜杠。如果他删除了,并且只有一个数字,那么斜杠需要消失
我需要在编辑文本中显示日期:14/06
这是我的代码,但它不工作
protected void onCreate(Bundle savedInstanceState) {
EditText editText2 = (EditText) findViewById(R.id.editText2);
editText2.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable text) {
if (text.length() == 2) {
text.append('/');
}
}
});
仅供参考,我为解决这个问题上了一堂课,谢谢
# 1 楼答案
使用遮罩编辑文本:
https://github.com/santalu/mask-edittext
在Moudle build gradle中添加:
应用内构建渐变添加:
在布局中,您可以使用MaskEditText:
# 2 楼答案
我认为这在某种程度上解决了问题。将
app:endIconMode="clear_text"
添加到TextInputlayout# 3 楼答案
将逻辑添加到
onTextChanged
而不是afterTextChanged
请尝试以下代码:
我希望它对你有用
# 4 楼答案
谢谢你,几天后我得到了解决方案,这门课: