[解決済み] 未解決のリファレンス: 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に変換します(via help->findaction->convert file to kotlin)。
- プロジェクトをKotlin用に設定する
次に、生成された content_main.xml ファイルに入り、 "Hello World!" TextView 用に id (hello) を追加します。
<?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>
そして、変換されたMainActivityにTextViewを設定する行を追加します。(下図)。 Android Studioは、次の行を挿入するように(alt-enterで)促します(下図)。
import kotlinx.android.synthetic.main.content_main.*
つまり、この時点ではすべての は 良い
が、これをコンパイルしようとすると
Unresolved reference: kotlinx
Unresolved reference: kotlinx
Unresolved reference: hello
私が行ったことに注意してください。 ではなく は Kotlin Android extensions プラグインをインストールします。 数日前の時点では、これはメインのプラグインに含まれているはずで、廃止されたとマークされています。 (実際、最新のプラグインがあるときにそれをインストールしようとすると、新しいものは何もインストールされません)
誰か私が間違っていることを見ますか?
MainActivity
import android.os.Bundle
import android.support.design.widget.FloatingActionButton
import android.support.design.widget.Snackbar
import android.support.v7.app.AppCompatActivity
import android.support.v7.widget.Toolbar
import android.view.View
import android.view.Menu
import android.view.MenuItem
import kotlinx.android.synthetic.main.content_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val toolbar = findViewById(R.id.toolbar) as Toolbar
setSupportActionBar(toolbar)
print("setting text view value to hey")
hello.text = "hey"
val fab = findViewById(R.id.fab) as FloatingActionButton
fab.setOnClickListener { view -> Snackbar.make(view, "Replace this with your own action", Snackbar.LENGTH_LONG).setAction("Action", null).show() }
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
// Inflate the menu; this adds items to the action bar if it is present.
menuInflater.inflate(R.menu.menu_main, menu)
return true
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
val id = item.itemId
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true
}
return super.onOptionsItemSelected(item)
}
}
どのように解決するのですか?
追加
kotlin-android-extensions
をビルドスクリプトの依存関係に追加します。
1. プロジェクトレベルのbuild.gradleで
buildscript {
dependencies {
classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
}
}
を適用し
kotlin-android-extensions
プラグインを適用します。
2. モジュールレベルのbuild.gradleで
apply plugin: 'kotlin-android-extensions'
関連
-
[解決済み] IntelliJのKotlin未解決参照
-
[解決済み] 仮想デバイスを作成できない Unable to create Android virtual device:Androidの仮想デバイスを作成できない
-
[解決済み] OnePlusの端末を完璧にエミュレートする方法はないのでしょうか?
-
[解決済み] Android Studioのビルドエラー: このバージョンのAndroid Studioは、使用するGradle Pluginと互換性がありません。Instant Runを無効にしてみてください。
-
[解決済み] Android Studio プラットフォームレンダリングライブラリのロードに失敗しました。
-
[解決済み] Android Studioでプロジェクト全体の文字列の出現箇所をすべて検索する
-
[解決済み】Android Studio 4.2のgradleツールウィンドウに、Gradleタスクが表示されない。
-
[解決済み] IntelliJ (Android Studioも) のやり直しショートカットをCTRL+SHIFT+ZではなくCTRL+Yに設定するにはどうすればよいですか?
-
[解決済み】gradleの依存関係が新しいバージョンになったかどうかを確認する方法
-
[解決済み] ファイル名のクイック検索
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Android Studio で Maven の外部 lib を使用しているため、名前空間 'app' がバインドされていない。
-
[解決済み] メイン・クラス org.gradle.wrapper.GradleWrapperMain が見つからない、 あるいは、ロードできない。
-
[解決済み] Android Studioの「assets」フォルダはどこに配置すればいいですか?
-
[解決済み] Android Studioでプロジェクト全体の文字列の出現箇所をすべて検索する
-
[解決済み] Android Studio - Android SDKのパスを変更する方法
-
[解決済み】Android studioで既存プロジェクトのインポート中にgradleのホームを設定する方法
-
[解決済み】Android Studioでjavadocコメントを生成する方法
-
[解決済み】LogCatにフィルターオプションがない。
-
[解決済み] Android Studioの複数のインスタンスを起動する方法
-
[解決済み] ファイル名のクイック検索