1.继承已有的插件,并重写 onClick 方法
public class MyVideoPlugin extends VideoPlugin {
@Override
public void onClick(Fragment currentFragment, RongExtension extension) {
Toast.makeText(currentFragment.getContext(),
"我被点击了", Toast.LENGTH_LONG).show();
super.onClick(currentFragment,extension);
}
}
2.继承 DefaultExtensionModule ,实现 getPluginModules 方法,并将需要的插件添加到 list 中
public class MyExtensionModule extends DefaultExtensionModule {
@Override
public List<IPluginModule> getPluginModules(Conversation.ConversationType conversationType) {
List<IPluginModule> pluginModules = new ArrayList<>();
pluginModules.add(new ImagePlugin());
pluginModules.add(new MyVideoPlugin());
return pluginModules;
}
}
3.在初始化后调用 setMyExtensionModule 方法,将原先的 DefaultExtensionModule 移除加入自己定制的 ExtensionModule
public void setMyExtensionModule() {
List<IExtensionModule> moduleList = RongExtensionManager.getInstance().getExtensionModules();
IExtensionModule defaultModule = null;
if (moduleList != null) {
for (IExtensionModule module : moduleList) {
if (module instanceof DefaultExtensionModule) {
defaultModule = module;
break;
}
}
if (defaultModule != null) {
RongExtensionManager.getInstance().unregisterExtensionModule(defaultModule);
RongExtensionManager.getInstance().registerExtensionModule(new MyExtensionModule());
}
}
}
这样就可以实现自定义点击事件