对EditText进行监听,为TextView设置链接匹配,自动拨号

有时候需要对EditText的输入进行监听,一旦用户输入不符合规则,立刻提示并阻止。只需要为其绑定一个监听器OnKeyListener。代码很简单,功能很强大:

mEditText.setOnKeyListener(new EditText.OnKeyListener()
    {
      @Override
      public boolean onKey(View arg0, int arg1, KeyEvent arg2)
      {
        mTextView.setText(mEditText.getText());
        return false;
      }
    });

有时候在软件的关于信息中给出开发单位的客服电话,用户只需要点一下这个电话就能播出去或者跳转到拨号界面,代码如下:

Linkify.addLinks(mTextView, Linkify.WEB_URLS
            | Linkify.EMAIL_ADDRESSES | Linkify.PHONE_NUMBERS);

自动拨号出去,省去跳转到拨号界面后再手动,如下:

public void callPhone(Context context, String phone) {
		if (phone.trim().length() > 0) {
			try {
				Intent callIntent = new Intent(Intent.ACTION_CALL);
				callIntent.setData(Uri.parse("tel:"
						+ phone.replaceAll("\\-", "")));
				context.startActivity(callIntent);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

不过为了代码健壮些,最好用正则表达式先对phone做个判断再拨号

最后加个权限:

<uses-permission android:name="android.permission.CALL_PHONE" />
	<uses-permission android:name="android.permission.CALL_PRIVILEGED" />


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值