如何阅读表中的按钮触摸?

时间:2012-10-07 18:42:54

标签: android button touch

在按钮表(自定义键盘)中测试按钮触摸的正确方法是什么?每个按钮的OnTouch监听器看起来很麻烦。

1 个答案:

答案 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);

现在,您的监听器只在内存中出现一次,并且每个项目仍具有独特的功能。