Native module ToastModule tried to override ToastModule for module name ToastAndroid

来源:互联网 发布:巧手十字绣软件 编辑:程序博客网 时间:2024/06/18 13:16

今天按照ReactNative官网中的原生模块中的代码去实现ReactNative界面调用Android原生Toast方法的时候,遇到:Native module ToastModule tried to override ToastAndroid for module name RCTToast. if this was your intention, set canOverrideExistingModule=true
这里写图片描述
按照上面的提示,在ToastModule.java文件中添加以下代码:

  @Override    public boolean canOverrideExistingModule() {        return true;    }

可是发现还是这样,最终找到原因,一方面是自己的疏忽,另一方面是官方文档命名有点略坑。。。
这里我们可以看到官网Toast模块的命名为:ToastModule
这里写图片描述

注册模块 调用Toast模块
这里写图片描述

这里 new ToastModule 是调用Toast模块中自己新建的 ToastModule 类,可是因为编译器自动导包,导致我这个文件中多了一个跟 ToastModule 同名的包:
这里写图片描述

将这个包删除,即可!不过最好将 ToastModule 这个类名修改为其他的!
在编程的时候一定要心细一点,命名注意规范,最好不要跟已有的方法同名,不然容易倒错包!