Intereting Posts
Kotlin: MyClass :: class.java vs this.javaClass Kotlin / Java – тестирование данных базы данных REST API Kotlin Аннотация: Тип несоответствия: выведенный тип – java.lang.Class <foo>, но java.lang.Class <out jet.Annotation> ожидалось RxJava запускает часть плана в основной теме Google Fit данные не читаются из облака, только чтение локально Проблемы с подключением API-интерфейсов доступа к приложениям с поддержкой – Android бросить, если оператор в Котлине Неподвижная последовательность, функциональная / потоковая идиома Kotlin Простой класс kotlin с mockito-тестом вызвал MissingMethodInvocationException Как получить различную реализацию функции верхнего уровня в Unit и InstrumentTests для Android Итерировать значения перечисления, используя значения () и valueOf в kotlin Kotlin: Используйте лямбда вместо функционального интерфейса? Ресивер RecyclerView вызывается самостоятельно Мутидекс и Котлин Что такое эквивалент Kotlin строки Java ?

Как создать кнопку в Kotlin, которая открывает новую активность (Android Studio)?

Привет, я делаю приложение с помощью Android Studio и языка Kotlin, и мне не удается заставить мою кнопку открывать новую активность. У меня есть кнопка, созданная в моем XML-файле, но я не могу найти синтаксис KOTLIN, как объявить его в MainActivity.kt и как создать OnClicklistener, который приведет меня к новому действию. У меня есть новая активность, определенная в манифесте, и я думаю, что мне просто нужна синтаксическая помощь о том, как фактически переключиться с MainActivity.kt на secondActivity.kt. Любая помощь приветствуется.

Вы можете добавить onclick event listener, как onclick ниже.

  button1.setOnClickListener(object: View.OnClickListener { override fun onClick(view: View): Unit { // Handler code here. val intent = Intent(context, DestActivity::class.java); startActivity(intent); } }) 

Или вы можете использовать упрощенную форму

  button1.setOnClickListener { // Handler code here. val intent = Intent(context, DestActivity::class.java) startActivity(intent); } 

Кнопка в формате xml-файла

  <Button android:id="@+id/btn_start_new_activity" android:text="New Activity" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 

Для объявления его в файле активности Kotlin

 var btn_new_activity = findViewById(R.id.btn_start_new_activity) as Button 

Установите Onclicklistener на кнопку, чтобы начать новую активность при нажатии кнопки

  btn_new_activity.setOnClickListener { val intent = Intent(context, NewActivity::class.java) startActivity(intent); } 

Я рекомендую использовать Anko-расширение для Kotlin https://github.com/Kotlin/anko . Это позволяет использовать намерение (и многое другое) самым коротким способом. В вашем случае это будет:

 button { onClick { startActivity<SecondActivity>() } }