首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >java.lang.IllegalArgumentException:类别不是此领域的架构的一部分

java.lang.IllegalArgumentException:类别不是此领域的架构的一部分
EN

Stack Overflow用户
提问于 2015-07-09 18:10:45
回答 4查看 3.4K关注 0票数 3

我使用Android 1.2.2和领域0.81.1。我创建了一个模型“类别”如下:

代码语言:javascript
运行
复制
@RealmClass
public class Category extends RealmObject {
   private String name;
   // getter and setter
}

但是我得到了java.lang.IllegalArgumentException:类别不是这个领域的模式的一部分

我甚至启用了注释处理,但错误仍然持续存在。

如何解决这个错误?任何帮助都是非常感谢的。

更新

我深入研究了领域代码。我在Util.class文件中发现,

代码语言:javascript
运行
复制
if(!superclass.equals(RealmObject.class)) {
        clazz = superclass;
    }

它正在检查我正在使用的模型的超类。当我打印出这个模式的超类时,我自己,就像:

代码语言:javascript
运行
复制
category.getClass().getSuperclass().getName();

我得到的是'io.realm.RealmObject‘,这不等于RealmObject.class。因此,领域可能不会将其视为一个RealmObject。

这是导致错误的原因吗?

EN

回答 4

Stack Overflow用户

发布于 2016-04-11 20:41:29

在我的例子中,我需要添加领域插件(应用插件:‘领域-安卓’)到每个使用领域的.gradle项目。RealRecyclerView和我的主要应用程序项目。

票数 4
EN

Stack Overflow用户

发布于 2016-12-07 03:22:50

我发现插件在应用程序的build.gradle文件中指定的顺序很重要。在我的例子中,我有一个应用插件:‘领域-android’,但显然它被指定得太早了。最后一次成功了。

这次失败了。

代码语言:javascript
运行
复制
apply plugin: 'com.android.application'
apply plugin: 'realm-android'
apply plugin: 'android-apt'
apply plugin: 'com.neenbedankt.android-apt'

然而,这是可行的(请注意最后一个是真正的android)。

代码语言:javascript
运行
复制
apply plugin: 'com.android.application'
apply plugin: 'android-apt'
apply plugin: 'com.neenbedankt.android-apt'
apply plugin: 'realm-android'
票数 2
EN

Stack Overflow用户

发布于 2016-02-11 13:15:05

我不知道你是否还存在这个问题,但在我这一边,我只是清理项目和重新构建。之后工作得很好..。请注意,我有android工作室作为ide。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31325127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档