ผมเริ่มหัดเขียนโปรแกรมแต่ติดปัญหาไปต่อไม่เป็น
ผมต้องการสร้างโปรแกรมง่ายๆ รับค่ามา3ค่า แล้วเอาค่า3ค่าที่รับมา มารวมกัน
การรับค่าผมสร้าง EditText มา3อัน ผมตั้งชื่อว่า Input1,Input2 และ Input3
และสร้างButton มา1อัน ผมตั้งชื่อ Calculated
สิ่งที่ผมต้องการเมื่อรันโปรแกรมแล้วคือ
Input1,Input2 และ Input3 รับค่าโดย user ป้อนค่าให้
เมื่อป้อนค่าครบ3อันแล้ว user กดปุ่ม Calculated โปรแกรมจะคำนวณ(บวกกัน)
ค่าInput ที่รับมา แล้วแสดงค่าออกมา
ตัวอย่าง code
package idris.droid;
import java.security.PublicKey;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class Idrisnic05 extends Activity {
/** Called when the activity is first created. */
EditText enter1, enter2, enter3;
Button calculated;
int result;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Toast.makeText(this, “Test”, Toast.LENGTH_SHORT).show();
enter1 = (EditText) findViewById(R.id.Input1);
enter2 = (EditText) findViewById(R.id.Input2);
enter3 = (EditText) findViewById(R.id.Input3);
calculated = (Button) findViewById(R.id.Calculated);
calculated.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
ผมสามารถสร้าง EditText กับButton เท่านั้น ปัญหาคือ จะให้มันคำนวนและแสดงค่าออกมา
วอนผู้รู้ช่วยเขียนต่อคำสั่งหลัง public void onClick(View v) {
ขอบคุณเป็นอย่างสูงครับ
ปัญหาที่บอกว่าติดคืออะไรครับ
“วอนผู้รู้ช่วยเขียน”
มันไม่ใช่ติดปัญหาแล้วนะ
1.เอาค่าออกมาจาก EditText
ได้เป็น String เอาไป convert เป็น int ใช้ Integer.ParseInt
2.เอามา + กัน แล้วแสดงค่าออกไป
ด้วย View อื่นๆ หรือ Toast
แปลง int กลับเป็น String ทำง่ายๆ คือ “” + ชื่อตัวแปร
public void onClick(View v) {
switch(v.getId()){
case R.id.Calculated:
int input1 = Integer.parseInt(enter1.getText());// or getText().toString();
int input2 = Integer.parseInt(enter2.getText());
int input3 = Integer.parseInt(enter3.getText());
int result = input1 + input2 + input3;
Toast.makeText(this,””+result), Toast.LENGTH_SHORT).show();
break;
}
ประมาณนี้ ลองดูครับถ้าผมจำไม่ผิด
ขอบคุณ พี่codemixer และพี่ newnhons มากๆครับ เดียวผมจะลองทำดูครับ