这是一个缺乏经验的程序员的基本问题。我在Android应用程序中制作游戏。显然它需要很多触摸事件。使用if / else语句,这个函数似乎变得非常大。我想要一些关于如何编写onTouchEvent方法的指南。有人能指出我有任何一个有onTouchEvent方法的例子,它的结构如何?
答案 0 :(得分:1)
Java中最好的设计模式之一是观察者(监听器),我建议使用它而不是onTouchEvent()。原因是您可以将事件的处理与原始控件本身(即Button)分离,并且您不必对控件进行子类化。
这是一个小例子:
MyEventHandler myEvHandler = new MyEventHandler();
Button button = new Button();
button.setOnClickListener(myEvHandler);
// Basic Object Class called MyEventHandler
class MyEventHandler implements OnClickListener
{
public void onClick(View v)
{
if (v instanceof Button)
{
// handle the click event here.
}
}
}
请注意,您不必将click事件逻辑放在按钮中,最重要的是,您不必创建自定义Button子类。
您可以为任何视图和任何UI事件执行相同的操作。