自定义长按item弹出菜单

首先需要定义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(4.X)

MessageItemLongClickActionManager.getInstance().addMessageItemLongClickAction(5.X)

将action添加到manager中

需要移除时removeMessageItemLongClickAction

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