pratik rupwal
2.13.1 问题
你的应用程序包含少数文本框,希望在这些文本框中限制用户仅能输入数字;而且,在某些情况下,你希望仅允许输入数字、整数或者日期。
2.13.2 解决方案
android提供keylistener类,帮助你限制用户仅能输入数字/整数/正整数等。
2.13.3 讨论
android.text.method包含一个keylistener接口,以及实现这一接口的digitskeylistener和datekeylistener等类。
例2-17是一个样例应用,展示了这些类的使用。这个布局文件创建5个textview和5个editview;textview显示对应edittext所允许的输入类型。
例2-17:textview和edittext布局
例2-18是限制edittext输入为数字、正整数等的活动的代码(允许的按键组参见注释)。
例2-18:主活动
为了使用multitapkeylistener,你的手机应该支持12键布局并激活该布局。激活12键布局的方法是选择settings(设置)→language and keyboard(语言与键盘)→on-screen keyboard layout(屏显键盘布局),然后选择“phone layout”(电话布局)选项。
2.13.4 参阅
下表中的listener类型有助于编写此类应用。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL0YjMhN2NxQDOiVDZzgjY4MTNkR2Y3kzNhZWYkFDNkNGNmlTMmJTZj9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)