Android关于微博发表微博时@好友后删除@的好友的功能实现

第一次写博客有点小激动,写的肯定不好,忘大家多多斧正。

先上一张微博发表微博并@好友后删除@的好友的图片,当时我就震惊了,好厉害(不要在意我关注的人)


接下来就是我仿照的了(千万别使用模拟器,不知道为什么键盘没用,怎么按都没用,昨天在模拟器上浪费了好多时间)


这里我没有写获取关注和粉丝的接口,所以自己手写了一个要@的人。

还和微博有很大的差距,但是我会慢慢改的,接下来上代码。

(关于@好友的文字变色大家可以看看http://www.cnblogs.com/lichenwei/p/4676214.html这篇博客,当然不看也没关系,不影响这边的逻辑)

edit.setOnKeyListener(new View.OnKeyListener() {
    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {//这里我们对edit进行按键监听
        if (keyCode == KeyEvent.KEYCODE_DEL
                && event.getAction() == KeyEvent.ACTION_DOWN) {//判断是否为按下并且是键盘的删除键
            String s = edit.getText().toString();//获取edit的内容
            int length = s.length();//获取文本的长度
            int select = edit.getSelectionEnd();//获取我们选择的位置
            if(length > 0 && select != 0){//判断文本长度是否大于0并且判断光标位置是否为0
                if(" ".equals(s.substring(select-1, select))) {//判断光标所处的位置的前一个是否是空格
                    String reg=".*@.*"; 
                    if(s.substring(0, select).matches(reg)){//判断光标所处的位置到开头还有没有@符号
                        int i = s.substring(0, select).lastIndexOf("@");//有的话获取到最后一个@符号的位置
                        String reg2=".* .*";  
                        if(!s.substring(i, select-1).matches(reg2)){//判断字符串中@符号位置到光标所处位置是否含有空格
                            edit.setSelection(i, select);//有的话就选中,说明这一段是@的人了
                            return true;//返回true,不返回的话会立马删除
                        }
                    }
                }
                select = edit.getSelectionStart();//获取光标位置
            }
        }
        return false;
    }
});
xxxxx@要呼叫的好友 xxxx(首先判断空格,然后判断空格前的@符号)
链接: https://pan.baidu.com/s/1sl5D3oL 密码: cxrj DEMO地址


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值