タグ付けされた質問 「kotlin-android-extensions」

9
KotlinフラグメントのビューにアクセスしようとするとNullPointerException
FragmentsでKotlin Android拡張機能を使用する方法 内部onCreateView()で使用すると、次のNullPointerException例外が発生します。 原因:java.lang.NullPointerException:nullオブジェクト参照で仮想メソッド 'android.view.View android.view.View.findViewById(int)'を呼び出そうとしました フラグメントコードは次のとおりです。 package com.obaied.testrun.Fragment import android.os.Bundle import android.support.v4.app.Fragment import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.obaied.acaan.R import kotlinx.android.synthetic.main.fragment_card_selector.* public class CardSelectorFragment : Fragment() { val TAG = javaClass.canonicalName companion object { fun newInstance(): CardSelectorFragment { return CardSelectorFragment() } } override fun onCreateView(inflater: LayoutInflater?, …

30
エラー:タスク ':app:clean'の実行に失敗しました。ファイルを削除できません
Android Studio Gradleプロジェクト(主にKotlinコードを含む)を再構築しようとしていますがUnableToDeleteFileException、クリーニング/再構築プロセス中にがスローされ始めました。 Execution failed for task ':app:clean'. > Unable to delete file: C:\Users\User\KotlinGameEngine\app\build\intermediates\exploded-aar\com.android.support\appcompat-v7\23.0.1\jars\classes.jar これは、プロジェクトのパッケージ構造を変更しようとした後に起こりました。残念ながら、私はAndroid Studioを介してリファクタリングするのではなく、ソースフォルダーの名前を変更して移動しましたが、これは悪い考えでした。 私はこの問題の解決策を一日中探していましたが、これらは私が役に立たないように試みたものです: Gradle同期を実行します。 Java JREおよびJava SDKを再インストールします。 Android Studioの最新バージョン(1.4)を再インストールします。 以前のASバージョン(1.3)にロールバックします。 ASキャッシュを無効にして再起動します。 プロジェクトディレクトリ内のgradleおよび.gradleディレクトリを削除します。 .gradleユーザーディレクトリのディレクトリを削除しています。 gradlew cleanASターミナルから実行。 手動でソースを新しいプロジェクトにコピーします(プロジェクト間でそれがどういうわけか持続するという奇妙なことです...) 私が少し成功して試しましたが、エラーが再び発生する前に、もう一度クリーンアップして再構築するだけにしておきます: ASを閉じ、手動でビルドファイルを削除し、再度開きます。 java.exeASの実行中にプロセスを強制終了します(これは技術的には毎回実行できますが、面倒でビルドプロセスの速度が低下します)。 したがって、Javaプロセスをコンパイルすると、なんらかの理由でビルドファイルがロックされる可能性がありますが、Kotlinにも関係している可能性があります。私が取り組んでいる(より成熟した)Java Androidプロジェクトがありますが、クリーニングするとこのエラーを再現できません。それは私のKotlinプロジェクトでのみ発生するようです。 更新: この問題は、Kotlin Androidプラグインが原因であることがわかりました。apply plugin: 'kotlin-android'モジュールのbuild.gradleファイルから削除すると問題が消え、再度挿入すると問題が再発します。これについての洞察を提供してください。 アップデート2: 最後の更新は原因ではありません。プロジェクトにKotlinファイルが含まれている場合、再構築とクリーニングが失敗することがわかりました。すべてのKotlinファイルが削除されても、バックグラウンドJavaプロセスが強制終了されるまで失敗し続けます。つまり、ビルドファイルになんらかのロックがかかります。詳細とバグの再現手順を記載したバグをここに提出しました:KT-9440

15
Android Studioの古いKotlinランタイム警告
最新のKotlinプラグインをダウンロードしてインストールした後、Android Studioから古いKotlinランタイム警告が表示されました。 'kotlin-stdlib-1.1.2'ライブラリのKotlinランタイムのバージョンは1.1.2ですが、プラグインのバージョンは1.1.2-release-Studio2.3-3です。ランタイムライブラリは、互換性の問題を回避するために更新する必要があります。 [ ランタイムの更新 ]ボタンをクリックしようとしましたが、別のメッセージが表示されました。 Gradleプロジェクトのライブラリバージョンの自動更新は、現在サポートされていません。build.gradleを手動で更新してください。 この問題を解決するには?

13
未解決の参照:kotlinx
Android StudioでKotlinとKotlin Android拡張機能を試してみます。Ubuntu 14.04のAndroid Studio v 1.5.1とOS X El CapitanのAndroid Studio v 1.5.1の両方でこれを試したところ、同じ結果が得られました。 これが私がやっていることです: Kotlinプラグイン1.0.0-beta-35950-IJ141-11をインストールします 新しい空のAndroidプロジェクトを作成する MainActivityファイルをKotlinに変換します(help-> findaction-> convert file to kotlinを使用) Kotlinのプロジェクトを構成する 次に、生成されたcontent_main.xmlファイルに移動して、「Hello World!」のID(hello)を追加します TextView。 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:context="com.gmail.npnster.mykotlinfirstproject.MainActivity" tools:showIn="@layout/activity_main"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" android:id="@+id/hello" /> </RelativeLayout> …

5
Kotlinバッキングフィールドとは何ですか?
Java開発者として、バッキングフィールドの概念は私には少し異質です。与えられた: class Sample { var counter = 0 // the initializer value is written directly to the backing field set(value) { if (value >= 0) field = value } } このバッキングフィールドは何に適していますか?Kotlinのドキュメントによると: Kotlinのクラスにフィールドを含めることはできません。ただし、カスタムアクセサを使用する場合は、バッキングフィールドが必要になる場合があります。 どうして?セッター内でプロパティ名自体を使用することとの違いは何ですか?例:* class Sample { var counter = 0 set(value) { if (value >= 0) this.counter = value // …


7
AdapterまたはViewHolderで合成されたKotlin
私はkotlinが初めてです。私が発見し、代わりに迷惑な方法の合成方法を使用しようとしましたfindViewById、私の中でActivityクラスが、我々は(アダプタクラスで有用)ビューの合成のプロパティを呼び出したい場合は、私が」発見した、我々はまた、kotlinx.android.synthetic.mainインポートする必要があります。見る。*。" しかし、私はそれが正確にどのように機能するのか理解できませんか?例はありますか?

3
ViewBindingとKotlin Android Extensionsの合成ビュー
新しいViewBindingは、Kotlin Android Extensionsと合成ビューバインディングをどのように比較しますか? 新しいViewBindingsによって提供されるNullSafetyとTypeSafetyを別にして、ビューで合成バインディングを使用するKotlinの方法を廃止することを検討する必要があるのはなぜですか。 新しいViewBindingは、事前にBindingクラスを生成するため、パフォーマンスが向上していますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.