我正在尝试将EditText编程为接受datetime值。用户只需键入数字,“/”和“:”将自动附加。请指教!
我用InputType和InputFilter测试了这个。没有成功。
答案 0 :(得分:1)
可以通过使用TextWather并将reqared符号添加到requared position。
testEdit.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 s) {
Log.e("b", "" + s);
if (s.length() 2) {
s.append('/');
} else if (s.length() 5) {
s.append('/');
}
}
});
但是很难理解用户意味着什么。例如,当他在月份位置按下“1”时,它可以是第一个月或“1 *”个月中的一个。那么我们应该在结尾处添加点吗?