問題タブ [kotlin-android-extensions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Maven のみを使用して Kotlin の Android リソース拡張機能を使用する
Maven ベースのプロジェクトでKotlin Android 拡張機能を使用したいのですがkotlin-android-extensions
、Maven プラグインのセットに追加しても、うまくいきません。
私の、かなり最小限だと思いますが、セットアップは次のとおりです。
AndroidManifest.xml
:
pom.xml
:
res/layout/main_activity.xml
:
src/activity.kt
:
したがって、これはすべて、代わりにactivity.kt
import に変更するまで機能しますが、それは失敗しますkotlinx.android.synthetic.main.main_activity.*
import com.example.KotlinAndroid.R
[エラー]
hello-kotlin/src/activity.kt
: (6, 8) 未解決の参照:kotlinx
[エラー]
hello-kotlin/src/activity.kt
: (12, 24) 未解決の参照:R
私が見つけたこの問題の解決策はすべて、Gradle ビルドにのみ適用されます。その場合、明らかにkotlin-android-extensions
プラグインを追加するだけで十分です。ただし、Maven のみのビルドでは、既にkotlin-android-extensions
プラグインのリストに含まれています (pom.xml
ファイルを参照)。kotlinx.*
それでも、Kotlin は必要なクラスを生成しません。
gradle - kotlin-gradle プラグインの自動構成エラー
プロジェクト build.gradle および buildscript コード、および報告されたエラー
Android 開発向けの kotlin を使い始めたところです。MainActivity を .kt に変換した後、kotlin-gradle プラグインを構成する必要があります。IntelliJ は自動的にそれを行うことを提案しますが、次のエラーで失敗します: モジュール アプリの build.gradle が見つかりません。自分で構成できることはわかっていますが、なぜ intelliJ が build.gradle ファイルを見つけられないのでしょうか。それらは intelliJ 自体によって自動的に生成されたプロジェクトにあります。何かが正しく構成されていませんか? ヘルプや洞察をいただければ幸いです。事前に感謝します。
java - Kotlin カスタム ビュー クラスは、`:app:compileDebugKotlinAfterJava` で解決できないインターフェースを実装しています。同一の Java バージョンは正常に動作します
aar library module
複数のアプリの基盤として使用されているジェネリック クラスを含む Android プロジェクトがあります。すべてが Kotlin で記述されており、Java コードは使用されていません (サードパーティ ライブラリを除く)。
この問題は、アプリを実行するためにアセンブルしようとすると発生します。アプリケーションを実行しようとすると、次のエラーが表示されます。
この質問の目的のために、android.widget.TextView
クラスを拡張してインターフェースを実装するカスタム TextView の 2 つの別々のバージョンを作成しましたLocalizable
。1 つはJava
に、もう 1 つは にありKotlin
ます。
ECMJavaTextView.java
ECMKotlinTextView.kt
どちらもライブラリ モジュールに xml レイアウトがあり、それらをmain_activity.xml
ファイルに含めます。findViewbyId()
問題をメソッドに切り分けることができました(ここでは、kotlin-extensions
ライブラリを使用してビューを取得します。両方で試しました)。
MainActivity.kt
2 番目のキャストでは常に上記のエラーが発生しますが、キャスト () を削除すると、必要なメソッドにECMKotlinTextView
アクセスできなくなります。Localizable
さらに興味深い点は、JAVAクラスが期待どおりに機能することです。
それが私が見逃しているものなのか、セットアップしていないものなのか、それとも現在 Kotlin プラグインのバグなのかはわかりません。誰かがこれで私を助けることができますか? いくつかの洞察をいただければ幸いです。
android - 結果のビルドでビルドされていない android 拡張機能を含む Kotlin クラス
最近、会社の Android アプリケーションを kotlin に移植することにしました。うまく機能しますが、kotlin 拡張機能を使用すると、奇妙な動作が発生します。拡張機能を使用するクラス (anko、または自己宣言された拡張機能) は初回のみビルドされ、その後の各ビルドでは他のクラスには存在しないことに気付きました。拡張機能を使用しない Kotlin クラスは、常に正しくビルドされます。これにより、プログラムを実行するたびに NoClassDefFoundError が発生します (後続のビルドでは、最初のビルドは問題なく実行されます)。私はすべてを試しましたが、少し絶望的になり始めています…プロジェクト全体のbuild.gradleは次のとおりです。
これは、kotlin を使用しようとしているモジュールの build.gradle です。
これがそのモジュールのマニフェストです(または、コードが独自のものであるため、見出しになっています)
android-studio - Kotlin Android アプリのコンパイルが次のメッセージで失敗しました: 未解決の参照: kotlinx
「Kotlin for Android Developers」の指示に基づいて、基本的な Kotlin ベースの Android アプリをテストしています。Android Studio 2.1.1 を使用しています。
次のbuild.grade(プロジェクト:WeatherApp)セットアップがあります:
次の build.grade (Module:App) セットアップがあります。
次の MainActivity.kt コードがあります。
ここに私の activity_main.xml コードがあります:
これが私のstrings.xmlコードです:
利用可能な Nexus 6 API 23 エミュレーターを使用して MainActivity を実行しようとしています。オプション「ツール>> Android>> ADB統合を有効にする」をオンにチェックしています(これもオフにしてみました)。エミュレーターは動作しているように見えますが、ビルドに失敗したためにアプリが読み込まれていないようです。エミュレーターを実行すると、「4: 実行」ウィンドウに次のメッセージが表示されます。
[イベント ログ] ウィンドウに次のように表示されます。
Gradle コンソール ウィンドウに次のように表示されます。
[メッセージ] セクションに次のように表示されます。
アプリを正しくコンパイルするにはどうすればよいですか?
android - kotlin を使用して Android でウィジェットを初期化する方法
Androidでkotlin言語を使用して学習し始め、ボタン変数の初期化中に問題が発生しました。これは、変数を定義するときに、null値で初期化し、oncreate関数で変数をバインドすると、初期値を与えるように求められるためです。
kotlin.KotlinNullPointerException
ここに私のコードがあります