ให้เรตสมาชิก: 1 / 5

ดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

Android - Intent

การสร้างหน้า Application หลายๆหน้าต้องมีการเชื่อมกันโดยใช้การ Intent เพื่อไปยังอีกหน้า

ขั้นตอนที่ 1 : เข้าโปรแกรม Android Studio สร้างโปรเจคใหม่ขึ้นมา

ขั้นตอนที่ 2 : สร้าง ปุ่ม Button ขั้นมาในหน้า activity_main เป็นหน้าแรก

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"
    >
    
    <TextView
        android:id="@+id/textview01"
        android:text="PAGE 1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:textSize="30sp" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Next Page"
        android:id="@+id/button01"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:layout_below="@id/textview01"
        />

</RelativeLayout>


ขั้นตอนที่ 3 : สร้างหน้า layout ขึ้นมาอีกหน้า

วิธีสร้างหน้า layout ใหม่

คลิกขวาที่ layout เลือก New > XML > Layout XML File

ตั้งชื่อไฟล์ XML ส่วน Root Tag ให้เป็น Linear Layout เหมือนเดิมก็ได้สามารถเปลี่ยนทีหลังได้

code หน้า 2

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <TextView
        android:id="@+id/textview02"
        android:text="PAGE 2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:textSize="30sp" />

</RelativeLayout>

ขั้นตอนที่ 4 : มาที่โฟลเดอร์ java > ชื่อ package ของเรา

 

ให้เลือกโฟลเดอร์ที่ ไม่มีคำว่า (android Test) แล้วจะเจอ MainActivity.java

- ให้เราสร้าง Java Class ขึ้นมาอีก 1 Class เป็น Class ที่เอาไว้เชื่อมต่อกับไฟล์ XML หน้า 2

วิธีสร้าง Java Class

 

คลิกขวาที่ package เลือก New > Java Class

 

 

 

- ตั้งชื่อ Class (ex.Page2Activity)

 

- หลังจากสร้าง Classให้ extents Activity

public class Page2Activity extends Activity

 

- คลิกพื้นที่ว่างในปีกกา ไปที่ Code > Override Methods

 

 

- แล้วเลือก onCreate กด OK แล้วจะได้ code ตามนี้

 

@Override    
  protected void onCreate(Bundle savedInstanceState) {    
     super.onCreate(savedInstanceState);    
}

 

 

ขั้นตอนที่ 5 : ให้พิมพ์ code จากบรรทัด super

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.page2);
    }

*page2 คือชื่อไฟล์ layout หน้า 2 ที่เราสร้างไว้

 

ขั้นตอนที่ 6 : มาที่ MainActivity.java

สร้าง Method onClick ขึ้นมาเพื่อให้หน้า Main ไปยังหน้า Page2

 

จะได้ code ตามนี้

public void onClickNext(View view){
        Button btn_next = (Button)findViewById(R.id.button01);
        Intent intent = new Intent(MainActivity.this,Page2Activity.class);
        startActivity(intent);
    }

อธิบาย code

- บรรทัดแรก ชื่อ Method ตั้งชื่ออะไรก็(ex. onClickNext) เรียกใช้ View และตัวแปรตั้งอะไรก็ได้ (ex. view)

- บรรทัดที่ 2 เรียกใช้ Button เพื่อให้เชิ่อมต่อปุ่มในหน้า xml โดย R.id.button01 เราต้องตั้ง id button01 ในหน้า xml

- บรรทัดที่ 3 เรียกใช้ Intent เป็นคำสั่งไปยังอีกหน้า (MainActivity.this = หน้าปัจจุบัน ,Page2Activity.class = หน้าที่จะไป);

 

ขั้นตอนที่ 7 : เราต้องไปเพิ่ม Activity ใน manifest มาที่โฟลเดอร์ minifest

ให้เพิ่ม Activity Page2Activity เข้าไปต่อจากปีกกาปิดของ Activity

<activity android:name=".Page2Activity"/>

 

 

ขั้นตอนที่ 8 : เราต้องไปเพิ่ม code onclick ที่ปุ่ม button ใน layout xml ด้วย

android:onClick="onClickNext"

จะได้รูปแบบนี้

<Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Next Page"
        android:id="@+id/button01"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        android:layout_below="@id/textview01"
        android:onClick="onClickNext"
        />

เพียงเท่านี้ก็สามารถกดปุ่มไปยังอีกหน้าได้แล้ว

หน้าแรก

หน้าที่สอง

 

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
สอบถามเกี่ยวกับการ บวก ลบ ใน Tuple ทำยังไงครับ ภาษา Python
โดย fuyuppe อ 18 ส.ค. 2019 3:20 pm บอร์ด Programming - C/C++ & java & Python
0
10
อ 18 ส.ค. 2019 3:20 pm โดย fuyuppe
น้องเมย์ค่ะ
โดย frenchfriesday อ 18 ส.ค. 2019 1:14 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
9
อ 18 ส.ค. 2019 1:14 pm โดย frenchfriesday
หลักการ วิธีการทำเว็บไซต์แสดงได้หลายภาษา ด้วย PHP เขียนเว็บสองภาษา
โดย jamepiyawat ส 17 ส.ค. 2019 10:17 pm บอร์ด PHP Knowledge
0
38
ส 17 ส.ค. 2019 10:17 pm โดย jamepiyawat
ขอคำแนะนำ เว็บไซด์ค่ะ
โดย Luckluck ส 17 ส.ค. 2019 8:35 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
1
33
ส 17 ส.ค. 2019 8:40 pm โดย mindphp
Joomla website
โดย Luckluck ส 17 ส.ค. 2019 8:17 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
1
16
ส 17 ส.ค. 2019 8:37 pm โดย mindphp
Socratic แอปช่วยทำการบ้านและค้นหาบทเรียน
โดย jamepiyawat ส 17 ส.ค. 2019 5:56 pm บอร์ด Share Knowledge
0
14
ส 17 ส.ค. 2019 5:56 pm โดย jamepiyawat
สอบถามการใช้อัตราแลกเปลี่ยนในการบันทึกเจ้าหนี้ต่างประเทศ
โดย EyePornnipa ส 17 ส.ค. 2019 4:06 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
2
26
ส 17 ส.ค. 2019 4:09 pm โดย EyePornnipa
คำสั่งนี้คืออะไรครับ เหมือน short if หรือเปล่าครับ
โดย jamepiyawat ส 17 ส.ค. 2019 2:22 pm บอร์ด Programming - PHP
4
44
ส 17 ส.ค. 2019 3:40 pm โดย jamepiyawat
การลงทะเบียนผู้ค้ากับภาครัฐในระบบ e-GP
โดย EyePornnipa ส 17 ส.ค. 2019 1:53 pm บอร์ด M089 - นางสาวพรนิภา ราชธานี
0
15
ส 17 ส.ค. 2019 1:53 pm โดย EyePornnipa
หากจ่ายชำระค่าโทรศัพท์เกิน ควรบันทึกบัญชียังไง
โดย EyePornnipa ศ 16 ส.ค. 2019 12:10 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
1
34
ส 17 ส.ค. 2019 11:06 am โดย Amp_Audit
ยาหม่องสมุนไพรอินเดีย Himalaya Pain Balm 45 g กระปุกใหญ่ ใช้ดม ทาแก้วิงเวียนศีรษะ หอมสดชื่น ส่ง Kerry ถึงภายใน 1-3 วัน
โดย Tanadet ส 17 ส.ค. 2019 10:58 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
17
ส 17 ส.ค. 2019 10:58 am โดย Tanadet
สอบถาม การทำ web 2 ภาษา หน่อยครับ
โดย jirawoot ส 17 ส.ค. 2019 10:58 am บอร์ด Programming - C/C++ & java & Python
1
45
ส 17 ส.ค. 2019 10:19 pm โดย jamepiyawat
งานประจำวันที่ 17 กรกฎาคม 2562
โดย jamepiyawat ส 17 ส.ค. 2019 10:16 am บอร์ด M084 - นายปิยวัช เชาว์วิมล
2
11
ส 17 ส.ค. 2019 7:19 pm โดย jamepiyawat
งานประจำวันที่ 17 สิงหาคม 2562
โดย jirawoot ส 17 ส.ค. 2019 10:02 am บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
3
9
ส 17 ส.ค. 2019 10:54 pm โดย jirawoot
งานประจำวันที่ 17 สิงหาคม 2562
โดย EyePornnipa ส 17 ส.ค. 2019 10:02 am บอร์ด M089 - นางสาวพรนิภา ราชธานี
5
35
ส 17 ส.ค. 2019 7:06 pm โดย EyePornnipa
Google Assistant เพิ่มฟีเจอร์ใหม่ สามารถเตือนความจำเราได้
โดย jamepiyawat ศ 16 ส.ค. 2019 6:41 pm บอร์ด Share Knowledge
0
21
ศ 16 ส.ค. 2019 6:41 pm โดย jamepiyawat
วิธีการดึกข้อมูลโพสต์โดยไม่ให้ มีการ Query Sql ที่มาเกิน ใน phpbb
โดย Ittichai_chupol ศ 16 ส.ค. 2019 6:08 pm บอร์ด PHP Knowledge
0
16
ศ 16 ส.ค. 2019 6:08 pm โดย Ittichai_chupol
พิสูจน์รักแท้ 3,790 ขั้น ที่… เขาวงพระจันทร์ จ.ลพบุรี (รอย้ายไปในบอร์ด Thailand Hotel)
โดย Patipat ศ 16 ส.ค. 2019 5:47 pm บอร์ด M088 - ปฏิภัทร สารธรรม
0
4
ศ 16 ส.ค. 2019 5:47 pm โดย Patipat
B - กด Save สร้างรายการ Product บนเมนู HR ไม่ได้
โดย EyePornnipa ศ 16 ส.ค. 2019 3:25 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
1
6
ศ 16 ส.ค. 2019 3:47 pm โดย thatsawan
Q - ต้องการทำรายการจ่ายค่าใช้จ่ายจ่ายล่วงหน้า บนเมนู HR
โดย EyePornnipa ศ 16 ส.ค. 2019 3:00 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
2
10
ศ 16 ส.ค. 2019 3:43 pm โดย EyePornnipa