我有一个动态创建的Edittext字段我有它,所以输入方法只是数字。但是仍然可以将文本粘贴到字段中。无论如何都要防止这种情况而不必进行后期验证?
目前输入法的代码是:
editText.setRawInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
答案 0 :(得分:3)
尝试使用此方法
.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL | InputType.TYPE_NUMBER_FLAG_SIGNED);
答案 1 :(得分:0)
无论您做了什么,对于复制粘贴条件几乎都是正确的,您可以使用此
Field1.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {}
@Override
public void beforeTextChanged(CharSequence s, int start,
int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start,
int before, int count) {
if(s.length() != 0)
}
});
答案 2 :(得分:0)
使用setInputType
而不是setRawInputType
这样:
edit.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL | InputType.TYPE_NUMBER_FLAG_SIGNED);