2016-03-21 34 views
3

この投稿に続くhttp://obviam.net/index.php/libgdx-and-kotlin/ I は、プロジェクトを作成し、Atomを使用して編集しました。それはコンパイルされ、アンドロイドデバイスで実行されます。私はより良いツールのためにAndroidStudioに変換したいです。Kotlin未解決参照linkedListOf

私はAndroidStudio 1.5.1を使用しています。最新バージョンのkotlinプラグインがあります。私はLibGDXセットアッププログラムを使用して新しいプロジェクトを作成し、AdroidStudioにインポートし、メインクラスをkotlinに変換しました。すべて動作します。それから私は私の既存の私のコードに貼り付け、と私は、この行をビルドするとき:

val bullets:MutableList<NewBullet> = linkedListOf() 

はこのエラーを取得:

Error:(19, 42) Unresolved reference: linkedListOf

私はツールを選択すると - > Kotlin - >「のそれが言うすべてのモジュールを設定しますKotlinファイルは設定されています '。

また、既存のプロジェクトをAndroidStudioにインポートしようとしましたが、結果は同じ問題です。

答えて

3

Kotlin 1.0 RCのchange logで言われているように、linkedListOfは廃止されており、現在入手できません。あなたが参照した記事はKotlin 1.0 Betaを使用しています。これは古いものです。

可変引数からLinkedList<T>を作成するには、コンストラクタにlistOf(...)を渡すことができます。

val bullets: MutableList<SomeType> = LinkedList(listOf(item1, item2)) 

またはlinkedListOfあなた自身を記述する:

fun <T> linkedListOf(vararg items: T) = LinkedList<T>().apply { 
    for (i in items) { add(i) } 
} 
+0

私がLinkedListの(listOf())と、それに変更未解決の参照エラーが発生しました。そこでimport java.util.LinkedListを追加しました。これで動作します。 ここで、java.utilへの参照が必要ですか?それは正しいとは言えません。 btw - これは1.0.0で動作し、1.0.1で削除されましたか?変化の管理IntelliJを破る道を行く! – user2241515

+0

@ user2241515空の 'LinkedList'だけが必要な場合は、そのコンストラクタを呼び出して何も渡しません:' val bullets:MutableList = LinkedList() ' – hotkey

+1

@ user2241515、Kotlinは独自のJavaコレクションインタフェースを使用するため、 'java.util.LinkedList'を使用する必要があります。 stdlibの変更については、リリース候補の段階で1.0.0より前にリリースされました。 – hotkey