我正在开发BlackBerry应用程序,其中数据来自网络,services.The数据包含不同国家的电话号码,应用程序中还有呼叫功能。我使用ActiveRichTextField在标签字段中显示数据,以便电话号码和电子邮件id可以是detected.It,也可以检测号码和邮件id,但是它无法检测到一些numbers.Do,任何一个人都知道如何检测数字,比如+618 12345678/79,并感谢data.Any的某种帮助。
发布于 2012-09-20 14:57:54
如果您希望识别另一个给定字符串中的字符串,则需要查看PatternRepository。这是一个系统管理的字符串集合,用于向给定字符串添加上下文菜单。
如果在设备上找到您的字符串,它将显示您定义的菜单。因此,您需要对ApplicationMenuItem进行子类化,并提供自己的run()方法。
以下代码将设置您的设备以识别正则表达式,并创建一个上下文菜单项,以便在发现该模式时使用:
// MyAppMenuItem extends ApplicationMenuItem
MyAppMenuItem appMenuItem = new MyAppMenuItem(0);
ApplicationMenuItem[] applicationMenu = new ApplicationMenuItem[1];
applicationMenu[0] = appMenuItem;
// register the pattern to identify the phone number
PatternRepository.addPattern(
ApplicationDescriptor.currentApplicationDescriptor(),
"*** REGEXP String to recognise phone numbers ***",
PatternRepository.PATTERN_TYPE_REGULAR_EXPRESSION,
applicationMenu);我发现这在HTML字段(BlackBerry - intercept text in HTML)中不起作用。但它在我的应用程序中几乎所有其他地方都有效,在其他应用程序中也是如此,比如电子邮件。如果您只希望它在您的应用程序中工作,您可以取消此模式时,您的应用程序退出。
请注意,您可以添加许多不同的模式到PatternRepository -每个类型的数字或电子邮件地址,您想要识别一个。
https://stackoverflow.com/questions/12512940
复制相似问题