在按钮表(自定义键盘)中测试按钮触摸的正确方法是什么?每个按钮的 OnTouch 侦听器似乎很麻烦。
问问题
108 次
1 回答
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);
现在,您的听众只在内存中出现一次,并且每个项目仍然具有独特的功能。
于 2012-10-07T19:07:33.457 回答