概述
EditText的layout设置大家都知道就不累赘了,这里主要说怎么设置输入限制。
EditText的属性里面已经封装好了相关的设置,上一篇文章里面也提到了,不熟悉的可以去查看上一篇EditText属性大全,这里着重讲输入限制的属性:
android:digits="1234567890.+-*/%n()"
限制输入框中只能输入自己定义的这些字符串 如果输入其它将不予以显示
android:phoneNumber="true"
限制输入框中只能输入手机号码
android:password="true"
限制输入框中输入的任何内容将以"*"符号来显示
android:hint="默认文字"
输入内容前默认显示在输入框中的文字
android:textColorHint="#FF0000"
设置文字内容颜色
android:enabled="false"
设置输入框不能被编辑
如果还有一些特殊的限制,比如我做一个项目只能输入数字,且输入0之后再输入1,则只显示1,这就需要单独去进行设置了,也非常的简单。
给EditText添加一个监听事件,当检测到里面的内容变化以后,根据需求,修改相关的内容就可以了。
使用EditText的addTextChangedListener(TextWatcher watcher)方法对EditText实现监听,TextWatcher是一个接口类,所以必须实现TextWatcher里的抽象方法:
当EditText里面的内容有变化的时候,触发TextChangedListener事件,就会调用TextWatcher里面的抽象方法。
- public class MainActivity extends Activity {
-
private EditText text; -
String str; -
@Override -
public void onCreate(Bundle savedInstanceState) { -
super.onCreate(savedInstanceState); -
setContentView(R.layout.main); -
-
text = (EditText)findViewById(R.id.text); -
text.addTextChangedListener(textWatcher); -
} -
-
private TextWatcher textWatcher = new TextWatcher() { -
-
@Override -
public void afterTextChanged(Editable s) { -
// TODO Auto-generated method stub -
Log.d("TAG","afterTextChanged--------------->"); -
} -
-
@Override -
public void beforeTextChanged(CharSequence s, int start, int count, -
int after) { -
// TODO Auto-generated method stub -
Log.d("TAG","beforeTextChanged--------------->"); -
} -
@Override -
public void onTextChanged(CharSequence s, int start, int before, -
int count) { -
Log.d("TAG","onTextChanged--------------->"); -
str = text.getText().toString(); -
try { -
//if ((heighText.getText().toString())!=null) -
Integer.parseInt(str); -
-
} catch (Exception e) { -
// TODO: handle exception -
-
} -
-
} -
}; - }
该方法可以监听到Edittext的变化,我在onTextChanged里面监听s值得变化,然后做修改以后再setText到EditText里面,不过这时候经常会遇见光标跑到最前面的情况,很恶心,随意每次setText的时候都需要用ev.setSelection(str.length())去重新设置光标位置为str字符串的最后。
最后
以上就是幽默日记本为你收集整理的android EditText输入限制,只输入数字电话或者特殊字符的全部内容,希望文章能够帮你解决android EditText输入限制,只输入数字电话或者特殊字符所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复