我想只用一个onTouchListener()为多个按钮,这是我有的代码,但它不工作。 我想要做的是当我按下按钮,如果有另一个按钮(右或左)来编写代码,如果它没有按另一个按钮来编写另一个代码。我对Java很新,所以可能会有很多错误。 如果你有我的问题的另一种解决方案,请帮助!只有一个方法来实现onTouchListener()多个按钮
abstract class MyTouchListener implements View.OnTouchListener{
public boolean OnTouch(View v,MotionEvent event){
switch (v.getId()){
case R.id.btnup:
switch (v.getId()){
case R.id.btnright:
mBluetooth.write("#1001#");
break;
case R.id.btnleft:
mBluetooth.write("#1002#");
break;
case R.id.btnup:
mBluetooth.write("#1000#");
break;
}
break;
case R.id.btnright:
mBluetooth.write("#0002#");
break;
case R.id.btnleft:
mBluetooth.write("#0001#");
break;
case R.id.btndown:
switch (v.getId()){
case R.id.btnright:
mBluetooth.write("#2001#");
break;
case R.id.btnleft:
mBluetooth.write("#2002#");
break;
case R.id.btndown:
mBluetooth.write("#2000#");
break;
}
}
return true; }
}}
这是按钮:
btnup=(Button)findViewById(R.id.btnup);
btndown=(Button)findViewById(R.id.btndown);
btnleft=(Button)findViewById(R.id.btnleft);
btnright=(Button)findViewById(R.id.btnright);
MyTouchListener touchListener = new MyTouchListener();
btnup.setOnTouchListener(touchListener);
看来你只是''touchListener'设置'btnup',也许你需要为其他人设置它? – mojarras