เขียนโปรแกรม android ใส่ Event ให้กับปุ่ม

เขียนโปรแกรม android ใส่ Event ให้กับปุ่ม

หลังจากครั้งก่อนนั้นเราได้ทำการสร้างปุ่มไปแล้ว ซึ่งถ้าใครยังไม่อ่านหรือลองทำก็ไปอ่านได้ที่ เรามาสร้างปุ่มใน android กันดีกว่า รอบนี้เราก็ทำการใส่ event ที่เราสร้างขึ้น ถ้าใครเคยเขียนโปรแกรมพวก GUI ที่ใช้ปุ่มในจาวาธรรมดาแล้วมันก็จะคล้ายๆๆกันนะครับ จะทำต่อจากบทความก่อนก็ได้หรือทำใหม่ก็ได้ครับ ผมขอทำใหม่เพราะหาโปรแกรมครั้งที่แล้วไม่เจอแล้วครับ ขั้นแรกเราทำการสร้าง project ขึ้นมาใหม่เหมือนทุกครั้งที่เราเคยทำ ผมขอข้ามไปนะครับเพราะมันคล้ายๆกันในบทความเก่าๆสามารถหาอ่านได้นะครับ
แต่ครั้งนี้ผมจะสร้างปุ่มโดยไม่ใช้ xml แล้วนะครับเพราะมันมีตัวช่วยในการออกแบบหน้าต่างโปรแกรมอยู่แล้ว ให้ทำการสร้างปุ่ม 2 ปุ่มตามรูปครับ โดยให้เราทำการคลิกเปิด main.xml ใน res/layout นะครับมันก็จะขึ้นหน้าตาให้ออกแบบแล้วครับ

android event

สร้างปุ่มสองปุ่มแล้วให้กด Toggle Fill Width เพื่อขยายปุ่มตามกว้าง

android event

จากนั้นให้คลิกขวาที่ปุ่มแล้วเลือก edit text โดยให้คลิก New String แล้วมันจะมี 2 ช่องคือช่อง Value String แล้วก็ช่องชื่อ string ที่เราจะอ้างอิงใน เมื่อเสร็จแล้วก็เลือก String ที่เราสร้างขึ้นก็จะได้ปุ่มที่มีข้อความตามที่เราสร้างขึ้น คือ
android button event

String : Hello World
New.R.String helloworld
อีกอันก็
String: Hello Thaicoding
New.R.String hellothaicoding

จากนั้นก็ edit id เป็น btnHelloWorld กับ btnHelloThaicoding

android

เมื่อเสร็จแล้วเราก็มาเขียนโค้ดกัน

[sourcecode language=”java”]
package org.thaicoding.button;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class THCButton2 extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

Button btnHelloWorld = (Button)findViewById(R.id.btnHelloWorld);
Button btnHelloThaicoding = (Button)findViewById(R.id.btnThaicoding);

btnHelloWorld.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
System.out.println(“Click HelloWorld”);
}
});

btnHelloThaicoding.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
System.out.println(“Click Hello Thaicoding”);
}
});
}
}
[/sourcecode]

โดยเราก็ไปไฟล์ class ของ project ที่เราสร้างขึ้นแล้วทำการ import android.widget.Button; และ import android.view.View; จากนั้นเราก็สร้างตัวแปร Button ขึ้นมาเพื่อเก็บค่าปุ่มที่เราสร้างขึ้นโดยใช้ findViewById() ซึ่งต้องระบุ id ของ button ที่เราต้องการโดย id เรากำหนดก่อนหน้านี้แล้ว จากนั้นเราก็ใช้ method setOnClickListener แล้วทำการสร้าง anonymous class View ขึ้นตามตัวอย่าง จากนั้นให้เราเขียนโค้ด event เมื่อเรากดปุ่มได้ที่ method onClick ของแต่ละปุ่มเอา จะได้การรันดังรูป

android

android

 

Download SourceCode

Leave a Reply

Your email address will not be published. Required fields are marked *