前提・実現したいこと
RealmのgetDefaultinstance()ではないgetInstance()を取得したい
現在、複数のRealmデータを使用するアプリを作成しています。その中で、別Activityで登録したRealmデータを利用してRealmSearchViewを表示するactivityで下記のエラーでcrashしてしまっている状況を解決したい。
発生している問題・エラーメッセージ
java.lang.IllegalArgumentException: Configurations cannot be different if used to open the same file.
該当のソースコード
kotlin
1class RealmSearch : AppCompatActivity() { 2 private var realmSearchView: RealmSearchView? = null 3 private var adapter: Realmrecycleadpter? = null 4 private var realm: Realm? = null 5 6 override fun onCreate(savedInstanceState: Bundle?) { 7 super.onCreate(savedInstanceState) 8 setContentView(R.layout.activity_realm_search) 9 10 realmSearchView = findViewById<View>(R.id.search_view) as RealmSearchView 11 realm = Realm.getInstance(getRealmConfig()) 12 adapter = Realmrecycleadpter(this, realm!!, "title") 13 realmSearchView!!.setAdapter(adapter) 14 } 15 16 override fun onDestroy() { 17 super.onDestroy() 18 if (realm != null) { 19 realm = null 20 } 21 } 22 23 private fun getRealmConfig(): RealmConfiguration { 24 return RealmConfiguration 25 .Builder() 26 .deleteRealmIfMigrationNeeded() 27 .build() 28 } 29}
試したこと
他のActivityではgetInstance()ではなくgetDefaultInstance()を使用してRealmに関する処理を行っていました、その経験から上記のコードをgetDefaultInstance()に変えたところサイトを参考に作成されたRecycleviewに使うことができませんでした...
下記はその際のエラーコードです
java.lang.NoSuchMethodError: No virtual method findAllSorted(Ljava/lang/String;Lio/realm/Sort;)Lio/realm/RealmResults; in class Lio/realm/RealmQuery; or its super classes (declaration of 'io.realm.RealmQuery' appears in /data/app/パッケージ名-1rWOXtMFcXvp9fS_lbVkYw==/split_lib_dependencies_apk.apk)
getDefaultInstanceやgetInstanceが混在した質問等が調べても見つけることができず、
関連する情報やエラーコードから調べたり等を行いましたが、解決には至れませんでした...
どうかご助言お願いします..
補足情報(FW/ツールのバージョンなど)
開発環境:
Androi studio 3.0
下記のサイトを参考に作成しています
https://github.com/thorbenprimke/realm-searchview/tree/master/example
gradle:
classpath "io.realm:realm-gradle-plugin:5.7.0"
implementation 'com.github.thorbenprimke:realm-searchview:0.9.6'
implementation 'com.github.bumptech.glide:glide:3.8.0'

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。