gpt4 book ai didi

java - 按下/实现按钮时执行操作的替代方案,android

转载 作者:行者123 更新时间:2023-12-01 04:57:47 26 4
gpt4 key购买 nike

我想为 android 4.0 制作一个带有 9 个按钮的应用程序,我需要每个按钮在按下时调用一个方法,在释放时调用另一个方法。 p>

我有点惊讶没有一个真正直接的方法来完成我刚才描述的事情,但是由于我在 stackoverflow 上读到的一些问题和答案,我通过在每个中添加一个监听器来完成我需要的事情按钮的数量,如下一个代码中的按钮之一所示。

buttonUp.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN) {
buttonUpPressed();
} else if (event.getAction() == MotionEvent.ACTION_UP) {
buttonUpReleased();
}
return true;
}
});

我想知道是否有替代方法可以完成此行为,而无需为每个按钮添加监听器。我认为这是浪费资源和大量编码。我无法想象我最终是否必须添加更多按钮。

因此,任何帮助将不胜感激。

最佳答案

使用 OnTouchListener 实现您的类

Button a,b;
Button[] bArray = {a,b};
for (int i = 0; i < bArray.length; i++) {
bArray[i].setOnTouchListener(this)
}

之后添加未实现的方法

@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if(event.getAction() == MotionEvent.ACTION_DOWN){
switch (v.getId()) {
case R.id.button1:

break;

default:
break;
}
}
else if(event.getAction() == MotionEvent.ACTION_UP){
switch (v.getId()) {
case R.id.button1:

break;

default:
break;
}
}
return false;
}

我希望你会喜欢我的逻辑:)

关于java - 按下/实现按钮时执行操作的替代方案,android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13811797/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com