在按钮表(自定义键盘)中测试按钮触摸的正确方法是什么?每个按钮的OnTouch监听器看起来很麻烦。
答案 0 :(得分:1)
这并不麻烦。但是我建议对所有这些使用相同的监听器。 (这是使用OnTouchListener
; OnClickListener
在您的情况下可能更好。)
public class MyButtonTouchListener implements OnTouchListener {
@Override
public boolean onTouch(View v, MotionEvent ev) {
Button b = (Button) v;
String buttonText = b.getText().toString();
// Do whatever, based on buttonText. Example: if (buttonText.equals("#")) { doPound(); }
}
}
然后,您创建其中一个项目,并将其分配给所有项目。
MyButtonTouchListener listener = new MyButtonTouchListener();
ArrayList<Button> myButtons = new ArrayList<Button>();
// Add all your Button objects to the ArrayList.
for (Button b : myButtons)
b.setOnTouchListener(listener);
现在,您的监听器只在内存中出现一次,并且每个项目仍具有独特的功能。