ฉันมีปุ่มสองปุ่มและอยากจะกดทั้งสองปุ่มพร้อมกัน ถ้าฉันกดอันแรกมันจะบันทึกตัว "C" (เป็นโน้ตเปียโน) อีกอันจะบันทึกเป็น D
จนถึงตอนนี้:
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getActionMasked();
switch (event.getAction() & MotionEvent.ACTION_MASK){
case MotionEvent.ACTION_DOWN:
switch (v.getId()) {
case R.id.cnotebutton:
Log.i("C", "C1");
return true;
case R.id.c2notebutton:
Log.i("D", "D1");
return true;
default:
}
break;
case MotionEvent.ACTION_UP:
break;
case MotionEvent.ACTION_POINTER_DOWN:
break;
case MotionEvent.ACTION_POINTER_UP:
switch (v.getId()) {
case R.id.cnotebutton:
Log.i("C", "C2");
return true;
case R.id.c2notebutton:
Log.i("D", "D2");
return true;
default:
}
break;
case MotionEvent.ACTION_MOVE:
break;
default:
}
return true;
}
ฉันบันทึก C1 และ C2 เพื่อแยกความแตกต่างของเคส แต่ทุกครั้งที่ฉันกดปุ่ม ฉันจะได้เฉพาะ C1,C2 หรือ D1,D2 เหมือนกับว่าฉันแตะปุ่มเดียวกันด้วยนิ้วทั้งสอง ฉันควรจะได้ C1,D2 หรือ D1,C2 ขึ้นอยู่กับว่านิ้วไหนชี้ก่อน มีข้อเสนอแนะอะไรบ้าง? อย่างไรก็ตาม ฉันยังไม่พบโปรเจ็กต์ตัวอย่างเปียโน แต่นั่นจะช่วยฉันได้อย่างแน่นอน หากวิธีนี้ไม่ได้ผลหรือแนวทางของฉันผิดโดยสิ้นเชิง มีผู้ใด?
ขอบคุณล่วงหน้า!