Basic Android Development: การรับค่า EditText ด้วย Button
-
Upload
banyapon-poolsawasd -
Category
Education
-
view
154 -
download
0
Transcript of Basic Android Development: การรับค่า EditText ด้วย Button
BASIC ANDROID APPS
Basic Widgets and Basic Coding
BASIC ANDROID APPS
Tutorial 1: รับค่า EditText มาแสดงที่ TextView หลังจากกด ปุ่ม Button
BASIC ANDROID APPS
น า Widgets ต่อไปนี้ วางลงท่ีหน้า Layout Design หรือไฟล์ activity_main.xml
Large Text
Button
TextEdit
Widgets
BASIC ANDROID APPS
ในไฟล์ activity_main.xml ให้เปิดเป็นโหมด Text ไว้ เพ่ือน า ID มาใช้
@+id/textView
@+id/editText
@+id/button
id
BASIC ANDROID APPS
เปิด ไฟล์ Code ท่ี MainActivity.java
ท าการ Import ส่วนของ Widgets ท่ีเราจะต้องใช้ลงไปในส่วน Header ของ Code MainActivity
BASIC ANDROID APPS
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final EditText textName = (EditText)findViewById(R.id.editText); final Button submitButton = (Button)findViewById(R.id.button); final TextView textResult = (TextView)findViewById(R.id.textView); }
รูปแบบการ Final จะเป็นรูปแบบการเขียนดังนี้
สีแดง คือ ชื่อตัวแปรท่ีเราก าหนดมาแทนค่า Widgets (ตัวอย่าง: textName, submitButton เป็นต้น) สีเขียว คือ ชื่อตัวแปรท่ีเราอ้างจากไฟล์ activity_main.xml หรือหน้า Design Layout (ตัวอย่าง: editText,button,textView เป็นต้น)
BASIC ANDROID APPS
submitButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { } });
เขียนค าสั่ง Event เมื่อกดปุ่ม Button ท่ีเราตั้งชื่อว่า “submitButton” เพ่ิมเข้าไปดังนี้
เพ่ิมในเมธิดฟังก์ชันที่ชื่อ onCreate()
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
final EditText textName = (EditText)findViewById(R.id.editText); final Button submitButton = (Button)findViewById(R.id.button); final TextView textResult = (TextView)findViewById(R.id.textView);
submitButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {
} }); }
BASIC ANDROID APPS
สร้างตัวแปร String ขึ้นมาชื่อว่า “textValue” รับค่าจาก txtName ตัวแทน Widgets
การรับค่าจาก EditText นั้นจะใช้รูปแบบ txtName.getText().toString();
BASIC ANDROID APPS
ตรวจสอบค าส่ังในการรับค่าว่าเป็นแบบนี้หรือไม่;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final EditText textName = (EditText)findViewById(R.id.editText); final Button submitButton = (Button)findViewById(R.id.button); final TextView textResult = (TextView)findViewById(R.id.textView); submitButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String textValue = textName.getText().toString(); textResult.setText("Your Name:"+textValue); } }); }
BASIC ANDROID APPS
กรอกชื่อลงไปในช่อง EditText กด Button แล้วสังเกตที่ผลลัพธ์ท่ีปรากฏบน TextView
BASIC ANDROID APPS
สรุปค าสั่งในบทเรียนนี้
การรับค่า Final หรือ Synthesize จาก Widget เก็บลงตัวแปรคือ final {Widgets} {ชื่อตัวแปร} = ({Widget})findViewById(R.id.{ตัวแปรใน Layout}); final EditText textName = (EditText)findViewById(R.id.editText); เมธอดค าสั่งที่ใช้รับ Event เมื่อเกิดการกระท ากับ Widget เหล่านั้น เช่น การกดปุ่ม submitButton.setOnClickListener(new View.OnClickListener() { }); การรับค่า ตัวแปรจาก Widget เช่นรับค่าท่ีเราพิมพ์ใน EditText String textValue = textName.getText().toString(); การแสดงผลลัพธ์ ของ Widget จ าพวก TextView textResult.setText("Your Name:"); หรือ textResult.setText("Your Name:"+textValue);