无法将参数传递给super();在类的构造函数中扩展RealmBaseAdapter(Realm)

时间:2016-06-19 01:36:22

标签: java android realm

我有一个问题,我无法将参数“context,realmResults,automaticUpdate”传递给super();在扩展RealmBaseAdapter的类的构造函数中。请参阅我的代码和截图,以便为您清楚。

*我的代码:

package com.twitter.i_droidi.notah;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import io.realm.RealmBaseAdapter;
import io.realm.RealmObject;
import io.realm.RealmResults;

public class RealmModelAdapter <T extends RealmObject> extends RealmBaseAdapter<T> {

    public RealmModelAdapter(Context context, RealmResults<T> realmResults, boolean automaticUpdate)
    {
        super(context, realmResults, automaticUpdate);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        return null;
    }
}

*屏幕截图:

* Realm版本:1.0.1

* Android Studio版本:2.1.2

2 个答案:

答案 0 :(得分:3)

使用Realm最新版本,RealmBaseAdapter的构造函数更改为

RealmBaseAdapter(android.content.Context context, OrderedRealmCollection<T> data, boolean automaticUpdate)

因此,您需要在代码中将RealmResults<T>替换为OrderedRealmCollection<T>

https://realm.io/docs/java/latest/api/io/realm/RealmBaseAdapter.html

答案 1 :(得分:2)

在Realm 0.90.0+中,您应该使用单独的realm-android-adapters项目(目前为compile 'io.realm:android-adapters:1.3.0')。其中RealmBaseAdapter具有以下构造函数签名:

public RealmBaseAdapter(@NonNull Context context, @Nullable OrderedRealmCollection<T> data) {
   ....
}

所以你会有

super(context, realmResults);

在Realm 2.0.0+中,不再需要上下文参数。

public RealmBaseAdapter(@Nullable OrderedRealmCollection<T> data) {

public RealmRecyclerViewAdapter(@Nullable OrderedRealmCollection<T> data, boolean autoUpdate) { // <-- autoUpdate always recommended to be `true`