【kotlin】Too many arguments for public constructor

kotlin

以下のエラーが出て困っている。

Too many arguments for public constructor GroupList() defined in com.example.badminton_matching.GroupList

やりたいこと

Realmでデータの保存をしたい。参考にしたのは以下のサイト。

Realmの基本的な使い方まとめ in Kotlin - Qiita
1.概要 RealmはSQLiteに代わる軽量、高速データベースでアプリ開発にも利用できます。 そのRealmが7.0.0になりKotlinの正式ドキュメントも公開されました! せっかくなのでAndroidアプリでの簡単な使い方...

エラーの内容

とりあえず、google先生に和訳してもらう

Too many arguments for public constructor
パブリックコンストラクターの引数が多すぎます

どうやら、GroupList()の引数が多すぎますと言っている様子。
GroupList()のモデルクラスはこんな感じ。

んー・・・引数の数はあっているみたいだし、モデルクラスでもエラーは出ていない様子。うーん。

解決した!!

色々調べていくとRealmで作るときの注意点として、RealmObjectを継承する必要があるらしい。
で、その書き方がよくなかったらしい。以下に直したらエラーが解消されました。

正直、なぜ直ったのかは理解できていない。
Realmの継承にあたり頭に: RealmObject() {とするものと、直したみたいに後ろに: RealmObjectを書く方法があるみたいだけど違いがよくわからない・・・

また、理解したら追記します。

ラップとは

そもそも、参考にしたサイトにはこう書いてある。

■手順
 ・インスタンスを作成
 ・トランザクションでラップ
 ・insert
 ・インスタンスを閉じる

・・・ラップってなんだ?
以下のサイトが参考になりそう。

ラッパー(Wrapper)って何?《サンプルケース付き》 - Qiita
ITの世界では,ときたま「ラッパー」とか「ラップする」とかいう言い方をすることがあります。新人さんに質問されたことがあるのでちょっと説明を書いてみます。1 概説 例えていうならば 「正露●糖衣A」 です。 お腹が痛くて薬が必要...

コメント

タイトルとURLをコピーしました