Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Android

วิธีเปิด Activity ใหม่โดยกดปุ่มใน Android ด้วย Kotlin

บทนำ

ตัวอย่างพื้นฐานนี้สาธิตการเริ่ม Activity ใหม่ (Start New Activity) เมื่อผู้ใช้กดปุ่ม (Button) ใน Android โดยใช้ Kotlin

ขั้นตอนที่ 1: สร้างโปรเจกต์ใหม่

สร้างโปรเจกต์ใหม่ใน Android Studio

ขั้นตอนที่ 2: Layout หลัก (activity_main.xml)

เพิ่มโค้ดใน res/layout/activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="4dp">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="70dp"
        android:background="#008080"
        android:padding="5dp"
        android:text="TutorialsPoint"
        android:textColor="#fff"
        android:textSize="24sp"
        android:textStyle="bold" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:background="@android:color/background_dark"
        android:padding="4dp"
        android:text="Open New Activity"
        android:textColor="@color/colorAccent"
        android:textSize="32sp"
        android:textStyle="bold" />

</RelativeLayout>

ขั้นตอนที่ 3: MainActivity.kt

เพิ่มโค้ดใน src/MainActivity.kt:

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val button: Button = findViewById(R.id.button)
        button.setOnClickListener {
            val intent = Intent(this, SecondActivity::class.java)
            startActivity(intent)
        }
    }
}

ขั้นตอนที่ 4: สร้าง SecondActivity

สร้าง Empty Activity ใหม่ชื่อ SecondActivity

activity_second.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:padding="4dp"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="70dp"
        android:background="#008080"
        android:padding="5dp"
        android:text="TutorialsPoint"
        android:textColor="#fff"
        android:textSize="24sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="Welcome to Second Activity"
        android:textAlignment="center"
        android:textColor="@android:color/holo_blue_dark"
        android:textSize="24sp"
        android:textStyle="bold" />

</RelativeLayout>

SecondActivity.kt

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity

class SecondActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_second)
    }
}

ขั้นตอนที่ 5: AndroidManifest.xml

ตรวจสอบว่า Manifest ประกาศ SecondActivity ด้วย (Android Studio เพิ่มอัตโนมัติเมื่อสร้าง Activity ใหม่)

การทดสอบ

รันแอป กดปุ่ม "Open New Activity" จะเปิด SecondActivity แสดงข้อความต้อนรับ

วิธีเปิด Activity ใหม่โดยกดปุ่มใน Android ด้วย Kotlin วิธีเปิด Activity ใหม่โดยกดปุ่มใน Android ด้วย Kotlin

เคล็ดลับ: สามารถส่งข้อมูลไปพร้อมด้วย Intent โดยใช้ putExtra() และรับใน Activity ปลายทางด้วย getIntent().getStringExtra() ฯลฯ