1. คือผมเขียนโปรแกรมหลายหน้า มีหลายคลาสแล้ว ในหน้าเมนูก็มีปุ่มแยกออกไปเป็นstart settingซึ่งปุ่มพวกนั้นกดแล้วจะไปหน้านั้นๆ
แต่ปุ่มexitนี้ใช้โค๊ตอะไรคับคือผมลองหาดูเห็นเค้าใช้System.exit(0); กับfinis(); ผมลองใช้ทังคู่แล้วพอกดแล้วมันจะเด้งกลับมาหน้าล่าสุด
เช่นพอเข้าโปรแกรมแล้ว กดไปที่setting พอbackกลับมาหน้าเมนูจะกดออก กดไปที่exitแทนที่จะออกมันดันกลับไปหน้าsetting ทำอย่างไรดีคับ
2.อยากทราบว่าonclick กับ ontouch อันใช้อย่างไร
2.1 onclickใช้กับปุ่มอย่างเดียวใช่หรือไม่
2.2 ontouch ใช้อย่างไรลองอ่านในเว็บของแอนดรอยแล้วไม่ค่อยเข้าใจเลย ช่วยอธิบายคร่าวๆหรือโค๊ตตัวอย่างไกด์หน่อยคับ
รบกวน และขอบคุณล่วงหน้าคับ
ข้อ 1 ผมก็ไม่รู้เหมือนกันครับ ว่าทำไมเป็นแบบนั้น ต้องลองไปหาข้อมูลเพิ่มเติมอีกทีครับ
ส่วนข้อ 2.1 onclick ใช้กับ control อย่างอื่นก็ได้ครับ
2.2 อันนี้ตามความคิดผมนะครับ
onclick น่าจะเป็น การกดและปล่อย ถึงจะทำ event นี้ครับ ถ้ากด แล้วเลื่อนไปที่อื่น แล้วปล่อย จะไม่ทำงานครับ
ontouch แค่กดโดน ก็จะทำ event นั้นแล้วครับ
ตามท่าน geekgok
เอาโค๊ดมาดูด้วยกะดี ถ้าไม่เป็นฟามลับ
อยากได้ตัวอย่างโค๊ต ontouch หน่อยคับ
แบบแรก (ตามเว็บ http://developer.android.com)
private OnTouchListener mTouch = new OnTouchListener() {
public void onTouch(View v) {
// do something when the button is clicked
}
};
protected void onCreate(Bundle savedValues) {
…
// Capture our button from layout
Button button = (Button)findViewById(R.id.corky);
// Register the onTouch listener with the implementation above
button.setOnTouchListener(mTouch);
…
}
แบบสอง
protected void onCreate(Bundle savedValues) {
…
// Capture our button from layout
Button button = (Button)findViewById(R.id.corky);
// Register the onClick listener with the implementation above
button.setOnTouchListener(new OnTouchListener() {
public void onTouch(View v) {
// do something when the button is clicked
}
});
…
}
ที่ให้มามันเป็นปุ่มใช่ไหมครับ แต่เวลาใช้จริงมันต้องใช้เป็นพิกัดอะครับ คือผมจะมีรูปมารูปนึง แล้วทัชลงไปบนพิกัดๆนั้นๆอะคับ
เอ่อแล้วeclipse นี่เค้าจัดเลเอ้าท์เป็นแบบกำหนดพิกัดได้ไหม หรื้อต้องใช้แบบที่ในโปรแกรมมันให้มา
คร่าวๆ ประมาณนี้ครับ ลองไปประยุกต์ใช้ดูอีกที
@Override
public boolean onTouchEvent(MotionEvent e)
{
if(e.getAction() == MotionEvent.ACTION_DOWN)
{
touchX = e.getX();
touchY = e.getY();
}
return super.onTouchEvent(e);
}
ส่วนการจัด Layout แบบพิกัด ผมไม่แน่ใจเหมือนกันว่ามันทำได้ไหมบน Eclipse ส่วนใหญ่ผมจะใช้แรงถึกเอาจาก Relative Layout ครับ ^ ^
ขอบคุณคับ เป็นประโยชน์มากๆ