2016-06-19 21 views
2

我有一個問題,我無法將參數「context,realmResults,automaticUpdate」傳遞給super();在擴展RealmBaseAdapter的類的構造函數中。看到我的代碼和屏幕截圖對你來說很清楚。無法將參數傳遞給super();在一個類的構造函數中,擴展了RealmBaseAdapter(Realm)

*我的代碼:

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; 
    } 
} 

*截圖:

*境界版本:1.0.1

*的Android Studio版本:2.1.2

回答

2

在境界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); 

在境界2.0.0+,上下文參數不再需要。

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

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

隨着境界的最新版本,RealmBaseAdapter構造改爲

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

所以,你需要在你的代碼OrderedRealmCollection<T>更換RealmResults<T>

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

+0

感謝您的回覆。在將'RealmResults '改爲'OrderedRealmCollection '後,問題依然存在。 – Androider

+0

我無法下載io.realm依賴項以嘗試在我的最後複製它。你可以上傳一個示例迷你項目給github,並給我的存儲庫網址? –

+0

我只是按照這個教程:[鏈接](http://www.androidhive.info/2016/05/android-working-with-realm-database-replacing-sqlite-core-data/) – Androider

相關問題