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

来源:互联网 发布:北师大网络信息门户 编辑:程序博客网 时间:2024/06/12 01:00

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

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


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


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

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

(关于@好友的文字变色大家可以看看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(首先判断空格,然后判断空格前的@符号)


1 0
原创粉丝点击