Я только что начал разработку Android и попал в затруднительное положение, установил последнюю стабильную сборку Android Studio, используя Kotlin, я просто на всю жизнь не могу заставить MainActivity распознавать какой-либо идентификатор из макета. Я перезапустил проект, «Очистить проект», «Перестроить проект» и так далее. Код ниже, пожалуйста, если кто-нибудь может помочь.
На самом деле это просто приложение HelloWorld, и все же ни на что из макета нельзя ссылаться, я снова начал проект, и все еще ничего из того, что было раньше, не будет ссылаться.
Код MainActivity
package com.example.findmyage
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
И по макету:
<?xml version = "1.0" encoding = "utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:id = "@+id/text"
android:layout_width = "match_parent"
android:layout_height = "match_parent"
tools:context = ".MainActivity">
<TextView
android:id = "@+id/textView"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:text = "Find My Age"
android:textSize = "19sp"
app:layout_constraintBottom_toBottomOf = "parent"
app:layout_constraintEnd_toEndOf = "parent"
app:layout_constraintHorizontal_bias = "0.498"
app:layout_constraintStart_toStartOf = "parent"
app:layout_constraintTop_toTopOf = "parent"
app:layout_constraintVertical_bias = "0.144" />
<EditText
android:id = "@+id/yearBornInput"
android:layout_width = "304dp"
android:layout_height = "48dp"
android:autofillHints = ""
android:ems = "10"
android:hint = "Enter Year Born"
android:inputType = "number"
app:layout_constraintBottom_toBottomOf = "parent"
app:layout_constraintEnd_toEndOf = "parent"
app:layout_constraintHorizontal_bias = "0.497"
app:layout_constraintStart_toStartOf = "parent"
app:layout_constraintTop_toBottomOf = "@+id/textView"
app:layout_constraintVertical_bias = "0.05" />
<TextView
android:id = "@+id/ageResult"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:layout_marginTop = "79dp"
android:text = "Your Age Will Be Here"
android:textSize = "20sp"
app:layout_constraintBottom_toBottomOf = "parent"
app:layout_constraintEnd_toEndOf = "parent"
app:layout_constraintHorizontal_bias = "0.498"
app:layout_constraintStart_toStartOf = "parent"
app:layout_constraintTop_toBottomOf = "@+id/yearBornInput"
app:layout_constraintVertical_bias = "0.0" />
<Button
android:id = "@+id/buttonCalc"
android:layout_width = "wrap_content"
android:layout_height = "wrap_content"
android:text = "Get My Age"
app:layout_constraintBottom_toBottomOf = "parent"
app:layout_constraintEnd_toEndOf = "parent"
app:layout_constraintHorizontal_bias = "0.498"
app:layout_constraintStart_toStartOf = "parent"
app:layout_constraintTop_toBottomOf = "@+id/ageResult"
app:layout_constraintVertical_bias = "0.267" />
</androidx.constraintlayout.widget.ConstraintLayout>
Отвечает ли это на ваш вопрос? stackoverflow.com/questions/34169562/…
Итак, я попробовал это сейчас, получил ошибку синхронизации Gradle: невозможно добавить задачу «очистить», поскольку задача с таким именем уже существует. Обратитесь к журналу IDE для получения более подробной информации (Справка | Показать журнал) (373 мс), после чего я удалил строку, и градация заработала идеально, хотя я получаю сообщение об ошибке, указывающее, что моя лицензия Android не принята
Но теперь я могу ссылаться на идентификаторы в макете, хотя это предупреждение о том, что лицензия Android не принята, заставляет меня задуматься, неужели Android Studio с Kotlin не может быть такой глючной, верно?
И теперь, когда я пытаюсь запустить приложение, оно выдает: Причина: compileSdkVersion не указан. Пожалуйста, добавьте его в build.gradle , но он есть в gradle, а также теперь дает мне окно EDIT CONFIGURATIONS при попытке запустить приложение.
Наконец, через некоторое время, каким-то образом, несмотря на использование последней версии Android Studio, требуется применить команду plugin: «kotlin-android-extensions» в файле build.gradle(app) после plugins{} в верхнем файле.
id "com.android.application"
id "kotlin-android"
}
apply plugin: "kotlin-android-extensions"
Хорошо, кажется, это позволяет синтетике работать, я думаю, что она обесценилась. Думаю, я не могу получить ссылку на работу с привязками View.
Можете ли вы добавить, как вы безуспешно пытаетесь сослаться на свое представление?