自定义长按item弹出的上下文菜单

自定义会话界面上下文菜单
发布时间: 2018-10-17 15:24

回答:

首先需要定义action

 clickAction = new MessageItemLongClickAction.Builder()

          .title(getResources().getString(R.string.title_string))

          .priority(0)

          .actionListener(new MessageItemLongClickAction.MessageItemLongClickListener() {

              @Override

              public boolean onMessageItemLongClick(Context context, UIMessage message) {

                  ...

                  return true;

               }

           }).build();

需要说明 :

  1. onMessageItemLongClick的返回值遵循Android默认规则 true表示消费掉事件 false表示事件继续传递如果时间继续传递将会传递到对应消息类型的provider中

  2. builder中除可设置标题及回调外还可设置优先级(priority)优先级越高排序时拍得越靠前

  3. builder中还可定义showFilter用于根据不同消息类型确定action是否可见

定义完action后需要通过RongMessageItemLongClickActionManager.getInstance().addMessageItemLongClickAction

将action添加到manager中

需要移除时removeMessageItemLongClickAction

由于action保存在一个ArrayList中移除时需要确保参数action和ArrayList中的action是同一个对象否则可能会移除失败

我对此仍有疑问!继续追问