問題タブ [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.

0 投票する
3 に答える
8336 参照

android - Kotlin Android 拡張機能と保持フラグメント

プロジェクトでKotlin Android 拡張機能を使用していますが、理解できない動作に遭遇しました。このコードを使用して、フラグメントをアクティビティに保持します。

これは保持されFragmentます:

およびその XML レイアウトhello.xml :

すべてが期待どおりに機能します – Hello world!text_view.setText()が表示されます。初回起動時の画面。ただし、画面を回転させると機能しません。null 可能ではなく、いくつかのビューを参照する必要があるため、これは奇妙です。フラグメントを削除してそのままにしておくと、この問題が消えるたびに再作成されます。この問題の原因は何ですか?text_view.setText()text_viewsetRetainInstance(true)

0 投票する
5 に答える
3092 参照

android - Varargs Kotlin Java 相互運用が正しく機能しない

makeSceneTransitionAnimation には、2 つの静的関数があります。

最初の関数呼び出しは Kotlin で適切に機能しますが、2 番目の関数を呼び出すと、これらの呼び出しは両方ともエラーを返します

これを機能させる適切な方法はありますか、それとも相互運用の問題ですか?

編集 同じクラスを使用していることを確認するために変更を追加しました

現在のコンパイラ エラー:

そしてもう一つ

現在のコンパイラ エラー:

0 投票する
42 に答える
235008 参照

android - エラー: タスク ':app:clean' の実行に失敗しました。ファイルを削除できません

Android Studio Gradle プロジェクト (主に Kotlin コードを含む) を再構築しようとしていますがUnableToDeleteFileException、クリーニング/再構築プロセス中にスローされ始めました:

これは、プロジェクトのパッケージ構造を変更しようとした後に発生し始めました。残念ながら、Android Studio を使用してリファクタリングするのではなく、ソース フォルダーの名前を変更して移動することでこれを行いましたが、これは悪い考えでした。

私は一日中この問題の解決策を探していましたが、これらは役に立たなかったものです:

  • Gradle 同期を実行します。
  • Java JRE および Java SDK の再インストール。
  • Android Studio (1.4) の最新バージョンを再インストールします。
  • 以前の AS バージョン (1.3) にロールバックします。
  • AS キャッシュを無効にして再起動します。
  • プロジェクト ディレクトリのディレクトリgradleとディレクトリを削除します。.gradle
  • .gradleユーザー ディレクトリのディレクトリを削除します。
  • gradlew cleanAS 端末から実行します。
  • ソースを新しいプロジェクトに手動でコピーする (プロジェクト間で何らかの形で保持されるのは奇妙です...)

私が試して少し成功したことはありますが、エラーが再び発生する前に、もう一度クリーンアップと再構築を実行できます。

  • AS を閉じ、ビルド ファイルを手動で削除し、再度開きます。
  • ASのjava.exe実行中にプロセスを強制終了します (これは技術的には毎回行うことができますが、面倒であり、ビルド プロセスが遅くなります)。

そのため、Java プロセスをコンパイルすると、何らかの理由でビルド ファイルがロックされる可能性があるようですが、それは Kotlin にも関係している可能性があります。私が取り組んでいる (より成熟した) Java Android プロジェクトがありますが、クリーニング時にこのエラーを再現することはできません。私のKotlinプロジェクトでのみ発生するようです。

アップデート:

この問題は Kotlin Android プラグインが原因であることがわかりました。apply plugin: 'kotlin-android'モジュールのbuild.gradleファイルから削除すると問題はなくなり、再挿入すると元に戻ります。これについての洞察を自由に提供してください。

更新 2:

最後の更新が原因ではありません。プロジェクトに Kotlin ファイルが含まれていると、再構築とクリーニングが失敗することがわかりました。すべての Kotlin ファイルが削除されたとしても、バックグラウンドの Java プロセスが強制終了されるまで失敗し続けます。つまり、ビルド ファイルに何らかのロックがかかることを意味します。バグを再現するための詳細と手順を記載したバグをここに送信しました: KT-9440

0 投票する
1 に答える
479 参照

android - Android ライブラリは kotlin をコンパイルできません

私のプロジェクトには と の 2 つのプロジェクトがmain projectありlibrary projectます。

main project依存library project関係。

kotlin今は両方使いたいと思っています。私はに追加common rx extension codeしましたlibrary project

そして、私はこの関数を my で呼び出しますmain project:

ビルドに失敗しました:

LoginPresenter.kt: Unresolved reference: rxRequest

library projectビルド成功、ビルドフォルダにkotlin .classが生成されました。

しかし、main projectビルドに失敗しました。ビルド フォルダーに kotlin .class ファイルがありません。

0 投票する
7 に答える
42292 参照

kotlin - Adapter または ViewHolder での Kotlin 合成

私はkotlinが初めてです。クラスで迷惑なメソッドの代わりに合成メソッドを見つけて使用しようとしましfindViewByIdActivityが、「ビューで合成プロパティを呼び出したい場合 (アダプタークラスで便利)、kotlinx.android.synthetic.main もインポートする必要があることがわかりました。 。見る。*。" しかし、それがどのように機能するのか正確にはわかりませんか?例はありますか?

0 投票する
2 に答える
8478 参照

android - Kotlin Android 拡張機能、パッケージをインポートできません

最新の Kotlin Android 拡張プラグイン (バージョン 1.0.0-beta-1103) をインストールし、Gradle 依存関係にクラスパスを追加しました。コンパイルはできますが、まだ Android フラグメント内にパッケージをインポートできません。

Gradle ファイルの関連部分は次のとおりです。

失敗している import ステートメントを次に示します。IDE の状態に「パッケージをインポートできません」というエラーが表示される

0 投票する
1 に答える
1488 参照

android - Android gradle プラグインが Uncaught 翻訳エラーを訴える

kotlin のバージョンを 1.0.0-beta-2423 に更新しています。関連する依存関係のバージョン番号を更新するだけです。しかし、assemblyDebug タスクを実行すると、このエラーが発生します。

ここにリストされているすべての依存関係:

ここで何がうまくいかないのですか?

更新: 全体build.gradleが更新されました

0 投票する
2 に答える
16469 参照

kotlin-android-extensions - Kotlin Android Extensions:別のレイアウトに含まれるレイアウト内のビューへの参照を取得する方法は?

別のレイアウトを含むレイアウトがあります。

activity_main.xml:

included_layout.xml

含まれているレイアウトで TextView への参照を取得するにはどうすればよいですか? (まだ)サポートされていませんか?

主な活動:

0 投票する
2 に答える
434 参照

kotlin - «ビルド バリアント パッケージのプロパティを使用» という警告はどういう意味ですか?

この警告はどういう意味ですか?

コード内の kotlin android 拡張機能のすべての使用について、バージョン 1.0.0-beta-3595 で表示されます。

Kotlin 警告 «ビルド バリアント パッケージのプロパティを使用»