web-dev-qa-db-ja.com

Kotlinで新しいアクティビティを開くボタンを作成する方法(Android Studio)?

こんにちはAndroid StudioとKotlin言語を使用してアプリを作成しています。ボタンで新しいアクティビティを開くことができません。ボタンをxmlファイルで作成していますが、できません。 MainActivity.ktで宣言する方法と、新しいアクティビティに移動するOnClicklistenerを作成する方法のKOTLIN構文を見つけます。マニフェストで定義された新しいアクティビティもあります。 MainActivity.ktからsecondActivity.ktに切り替えてください。

9
Nutters

以下のような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);
   }
13
Jayanth

レイアウト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);
    }

参照: Android Studioチュートリアル - https://www.youtube.com/watch?v=7AcIGyugR7M

5
Mallikarjun M

Anko-Kotlinの拡張機能を使用することをお勧めします https://github.com/Kotlin/anko 。インテント(およびその他のこと)を最短の方法で使用できます。あなたの場合、それは次のようになります:

button {
        onClick { startActivity<SecondActivity>() }
    }
3
Kirill Bitkov