集成融云Android SDK实现在群聊/讨论组中@人的功能(三)
2016-04-26 18:22
465 查看
最后一段,一些注意事项
2.如果当前app停留的页面就是这个会话页面,则不用在列表中显示
3.如果聊天草稿最后一个字符是
具体方法:如果草稿最后一个字符是@则将这个字符删,循环处理,直至最后一个字符不是@符号.
为了解决这个问题,还重写了融云的TextInputProvider,只是修改了上面那一段。
写到这基本功能已经实现了,但是还是有些细节问题要处理
1.输入框调起成员列表,在聊天页面写入这个方法(我的聊天页面是ChatActivity)InputProvider.MainInputProvider provider = RongContext.getInstance().getPrimaryInputProvider(); if (provider instanceof RongTextInputProvider) { RongTextInputProvider textInputProvider = (RongTextInputProvider) provider; textInputProvider.setEditTextContent(""); textInputProvider.setEditTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { if(count==0){ //键盘回删操作,不调起列表 return; } if (mConversationType.equals(Conversation.ConversationType.GROUP)) { if (s.length() > 0) { String str = s.toString().substring(s.toString().length() - 1, s.toString().length()); if (str.equals("@")) { Intent intent = new Intent(ChatActivity.this, ChatGroupUserListActivity.class); intent.putExtra(ChatGroupUserListActivity.IS_AT, true); intent.putExtra(ChatGroupUserListActivity.ARGUMENT_GID, mUserId); startActivityForResult(intent, 29); mEditText = s.toString(); } } } } @Override public void afterTextChanged(Editable s) {; } }); }
2.如果当前app停留的页面就是这个会话页面,则不用在列表中显示
有人@了我,具体实现我是在每次进入群聊就保存当前会话的id,关闭聊天页面时,remove掉。
3.如果聊天草稿最后一个字符是
@,则进入聊天页面会默认调起成员列表,这样体验不好,想解决这个问题,最后”曲线救国“”了。
具体方法:如果草稿最后一个字符是@则将这个字符删,循环处理,直至最后一个字符不是@符号.
SaveDraftRunnable(Conversation conversation, String content) { this.conversation = conversation; if(content!=null&&content.toString().length()>0){ int size=content.length(); for(int i=0;i<size;i++){ if(content.endsWith("@")){ content = content.toString().substring(0,content.toString().length()-1); }else{ break; } } } this.content = content; }
为了解决这个问题,还重写了融云的TextInputProvider,只是修改了上面那一段。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories