我有一个edittext我只想插入整数值.谁能告诉我我必须使用哪个属性?
我正在尝试实现一个EditText限制仅限数字[A-Z0-9]的数字输入的输入.
我从一些帖子开始使用InputFilter方法.但是我在三星Galaxy Tab 2上遇到了一个问题,但在模拟器或Nexus 4中却没有.
问题是这样的:
简而言之,它重复着色
这是我正在使用此代码的代码:
public class DemoFilter implements InputFilter {
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart,
int dend) {
if (source.equals("")) { // for backspace
return source;
}
if (source.toString().matches("[a-zA-Z0-9 ]*")) // put your constraints
// here
{
return source.toString().toUpperCase();
}
return "";
}
}
Run Code Online (Sandbox Code Playgroud)
XML文件代码:
<EditText
android:id="@+id/et_licence_plate_1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="3"
android:hint="0"
android:imeOptions="actionNext"
android:inputType="textNoSuggestions"
android:maxLength="3"
android:singleLine="true"
android:textSize="18px" >
</EditText>
Run Code Online (Sandbox Code Playgroud)
我完全坚持这个,所以在这里任何帮助将不胜感激.
我正在尝试实现一个EditText,它只将输入限制为alpha字符[A-Za-z].
我从这篇文章开始使用InputFilter方法.当我输入"a%"时,文本消失,如果我按退格键,则文本为"a".我已经尝试了过滤器功能的其他变体,比如使用正则表达式只匹配[A-Za-z],有时会看到像重复字符这样的疯狂行为,我会输入"a"然后"b"并获得"aab"然后键入"c"并获取"aabaabc"然后点击退格并获得"aabaabcaabaabc"!
这是我到目前为止使用的代码,我尝试过不同的方法.
EditText input = (EditText)findViewById( R.id.inputText );
InputFilter filter = new InputFilter() {
@Override
public CharSequence filter( CharSequence source, int start, int end, Spanned dest, int dstart, int dend ) {
//String data = source.toString();
//String ret = null;
/*
boolean isValid = data.matches( "[A-Za-z]" );
if( isValid ) {
ret = null;
}
else {
ret = data.replaceAll( "[@#$%^&*]", "" );
}
*/
/*
dest = new SpannableStringBuilder();
ret = data.replaceAll( "[@#$%^&*]", "" );
return …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种方法,以便用户只能使用编辑文本输入 1-9 之间的数字。不应显示任何异常。输入的数字不应超过一位。
我Activity的EditText定义如下:
<EditText
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:digits="0123456789.:"
/>
Run Code Online (Sandbox Code Playgroud)
允许的输入应该是.,:和numbers.但是如果在EditText空时键入不允许的char,则文本开始重复.
例如,假设EditText为空,请键入以下序列:abc123.
在我的设备上结果是1112123,但预期结果应该是正确的123.
因为这应该尽可能简单,我不想使用InputFilter.
我使用TextWatcher来更改按下的键值.我的目标是在打字时更换一些字符.例如,当我键入键时,如果达到"S"字符,则将其替换为"a"字符.我的问题是:我应该在beforeTextChanged吗?怎么样?谁能举个例子?
我搜索了与我的问题类似的每个问题,但没有得到它的工作.我的问题是:
我想在EditText输入时格式化一个字符串.格式是这(它总是一个19位数字):
012345 01 0123456789 0
如您所见,我想在用户输入时根据需要添加空格.我知道我必须使用TextWatcher但我所做的一切我都没有得到我想要的东西.
编辑:
这是我上次尝试的代码:
@Override
public void afterTextChanged(Editable s) {
if(s.length() == 7 || s.length() == 10 || s.length() == 21){
editText.removeTextChangedListener(this);
String newValue;
newValue= s.insert((s.length()-1), " ").toString();
//Log.d("AFTER",newValue);
editText.setText(newValue);
editText.setSelection(newValue.length());
editText.addTextChangedListener(this);
}
}
Run Code Online (Sandbox Code Playgroud) 我可以在android中只显示数字键盘吗?我知道这可以在iPhone上使用,但我不知道如何在Android上执行此操作.