Basic Android Development: การรับค่า EditText ด้วย Button

11
BASIC ANDROID APPS Basic Widgets and Basic Coding

Transcript of Basic Android Development: การรับค่า EditText ด้วย Button

Page 1: Basic Android Development: การรับค่า EditText ด้วย Button

BASIC ANDROID APPS

Basic Widgets and Basic Coding

Page 2: Basic Android Development: การรับค่า EditText ด้วย Button

BASIC ANDROID APPS

Tutorial 1: รับค่า EditText มาแสดงที่ TextView หลังจากกด ปุ่ม Button

Page 3: Basic Android Development: การรับค่า EditText ด้วย Button

BASIC ANDROID APPS

น า Widgets ต่อไปนี้ วางลงท่ีหน้า Layout Design หรือไฟล์ activity_main.xml

Large Text

Button

TextEdit

Widgets

Page 4: Basic Android Development: การรับค่า EditText ด้วย Button

BASIC ANDROID APPS

ในไฟล์ activity_main.xml ให้เปิดเป็นโหมด Text ไว้ เพ่ือน า ID มาใช้

@+id/textView

@+id/editText

@+id/button

id

Page 5: Basic Android Development: การรับค่า EditText ด้วย Button

BASIC ANDROID APPS

เปิด ไฟล์ Code ท่ี MainActivity.java

ท าการ Import ส่วนของ Widgets ท่ีเราจะต้องใช้ลงไปในส่วน Header ของ Code MainActivity

Page 6: Basic Android Development: การรับค่า EditText ด้วย Button

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 เป็นต้น)

Page 7: Basic Android Development: การรับค่า EditText ด้วย Button

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) {

} }); }

Page 8: Basic Android Development: การรับค่า EditText ด้วย Button

BASIC ANDROID APPS

สร้างตัวแปร String ขึ้นมาชื่อว่า “textValue” รับค่าจาก txtName ตัวแทน Widgets

การรับค่าจาก EditText นั้นจะใช้รูปแบบ txtName.getText().toString();

Page 9: Basic Android Development: การรับค่า EditText ด้วย Button

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); } }); }

Page 10: Basic Android Development: การรับค่า EditText ด้วย Button

BASIC ANDROID APPS

กรอกชื่อลงไปในช่อง EditText กด Button แล้วสังเกตที่ผลลัพธ์ท่ีปรากฏบน TextView

Page 11: Basic Android Development: การรับค่า EditText ด้วย Button

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);