การใช้งาน EditText ใน android

การใช้งาน CheckBox และ EditText ใน android

การใช้งาน CheckBox และ EditText ใน android

หลังจากที่ไม่ได้เขียนบล็อคมานาน วันนี้เลยกลับมาเขียนแต่ก็ขอเขียนอะไรที่ง่ายก่อนละกัน แบบ back to basic โดยรอบนี้เป็นเนื้อหาเกี่ยวกับการเขียนโปรแกรมใน android ซึ่งจะเกี่ยวกับการใช้งาน User Interface ซึ่งผมได้เลือกมา 2 อันคือ EditText และ CheckBox โดยขั้นแรกผมก็ทำการเริ่มสร้าง Project ก่อนโดยรายละเอียดตามรูปด่านล่างครับ

1

ส่วน Activity หลักก็ไม่ได้เปลี่ยนอะไรเป็น MainActivity เลยครัย
2

หลักจากที่สร้างโปรเจ็คเสร็จแล้วก็ให้ทำการแก้ไข layout ที่ res/layout/activity_main.xml โดยผมทำการลบ TextView ออกแล้วทำการใส่ EditText ตามโค้ดด้านล่างครับ

[sourcecode language=”xml”]

[/sourcecode]

ส่วนโค้ดในไฟล์ MainActivity.java นั้นผมทำการ import android.widget.EditText เข้ามาแล้วทำการ set ค่า ข้อความให้กับ EditText ดังโค้ดด่านล่างครับ

[sourcecode language=”java”]

package com.thaicoding.editcheck;

import android.os.Bundle;
import android.app.Activity;
import android.text.InputType;
import android.view.Menu;
import android.widget.EditText;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText txtEdit = (EditText)findViewById(R.id.txtEdit);
txtEdit.setText(“Line 1\nLine2\nLine3”);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}

[/sourcecode]

การใช้งาน CheckBox และ EditText ใน android

เมื่อลองรันใน emalator แล้วก็จะได้ดังรูป ในการกำหนดข้อความใน EditText นั้นจะใช้ method setText และข้อความจะขึ้นบรรทัดใหม่นั้นจะใช้ \n แต่ในตัวอย่างนั้นไม่มีการขึ้นบรรทัดใหม่ เพราะใน layout นั้นมีการ set property android:singleLine=”true” ถ้าจะให้สามารถขึ้นบรรทัดและใช้งานข้อความได้หลายบรรทัดต้องเซ็ตค่า android:singleLine=”false”

[sourcecode language=”xml”]

[/sourcecode]

4

เมื่อลองรันอีกครั้งก็จะเห็นว่าขึ้นบรรทัดใหม่แล้ว ต่อมาจะทำการเพิ่มโค้ดเล็กน้อยใน MainActivity.java โดยในบ้างครั้งเวลาเราใช้งาน android จะเห็นว่าบ้างช่องจะให้ใส่เฉพาะข้อความ บางช่องจะให้ใส่แต่ตัวเลข หรือ บางช่องใส่เสร็จจะเป็นจุดทันที ซึ่งการทำแบบนั้นจะใช้ คำสั่ง setInputType โดยโค้ดต่อไปนี้ผมจะทำการคอมเม้นคำสั่งในการเซ็ตข้อความให้ Edit Text ไว้ก่อนแล้วทำการกำหนดรูปแบบให้ EditText

[sourcecode language=”java”]
package com.thaicoding.editcheck;

import android.os.Bundle;
import android.app.Activity;
import android.text.InputType;
import android.view.Menu;
import android.widget.EditText;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText txtEdit = (EditText)findViewById(R.id.txtEdit);
//txtEdit.setText(“Line 1\nLine2\nLine3”);
txtEdit.setInputType(InputType.TYPE_CLASS_NUMBER);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}

[/sourcecode]

การใช้งาน CheckBox และ EditText ใน android

เมื่อลองรันดูจะเห็นว่า EditText นั้นจะกรอกแต่ข้อมูลที่เป็นตัวเลขเท่านั้น โดยคำสั่งที่ใช้คือ setInputType(ค่ารูปแบบที่ต้องการ); โดยจากนั้นเรายังกำหนดรูปแบบได้มากกว่า 1 แบบโดยใช้เครื่อง | เป็นการต่อรูปแบบที่ต้องการเช่นลองเปลี่ยนโค้ดในบรรทัดที่ทำการ setInputType เป็นนั้นนี้

[sourcecode language=”java”]

txtEdit.setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_NUMBER_VARIATION_PASSWORD);

[/sourcecode]
6

เมื่อลองรันอีกครั้งจะได้ดังรูปคืออนุญาติกรอกแต่ตัวเลข และเมื่อกรอกเสร็จจะเป็นจุดทันที เพราะเราเสร็จ inputType เป็น Password โดยรูปแบบ InputType นั้นมีอยู่อีกหลายแบบโดยสามารถรูปได้จาก developer.android.com หวังว่าบทความนี้จะเป็นประโยชน์กับท่านผู้อ่านนะครับ แล้วรอบหน้าจะเป็น User Interface อะไรต้องติดตามกันนะครับ และผมจะทำต้อง Project นี้เลยจะได้ไม่ต้องสร้าง Project ใหม่กันบ่อยครับ

Download SourceCode

Leave a Reply

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