Native module ToastModule tried to override ToastModule for module name ToastAndroid

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wn1245343496/article/details/77893458

今天按照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 这个类名修改为其他的!
在编程的时候一定要心细一点,命名注意规范,最好不要跟已有的方法同名,不然容易倒错包!

猜你喜欢

转载自blog.csdn.net/wn1245343496/article/details/77893458
今日推荐