java - Android Studio - onTouchEvent - 想要在 7 个 ACTION_DOWN 事件后出现一个新屏幕
问题描述
正如标题所示,我希望在我的 OnTouchEvent 记录 7 个 ACTION_DOWN 事件后出现一个新屏幕。
可以让它为单个 ACTION_DOWN 工作,但不确定如何在其中 7 个之后使其弹出。
public boolean onTouchEvent(MotionEvent event) {
int count = event.getPointerCount();
if (event.getAction() == MotionEvent.ACTION_DOWN) {
count++;
}
if (count == 7) {
Intent intent = new Intent(this, UsersList.class);
startActivity(intent);
}
return true;
}
}
解决方案
那是您在那里遇到的可变范围问题。该变量count
仅在onTouchEvent
方法的持续时间内存在。您必须将该变量放入更大的范围,例如您的类。
另外,我建议您查看getPointerCount方法文档。这可能不希望你想...
推荐阅读
- python - Pandas 按一列聚合,并为其他列采用任意随机行
- java - java.lang.IllegalArgumentException:无法设置 io.appium.java_client.android.AndroidElement
- c# - 将列表框中的项目显示到文本框
- django - 从Django的同一张表中获取每天的前n行
- typeorm - 如何在 TypeORM 中的实体中公开外键列
- python - 允许python程序接受十进制输入
- python - Pandas:如果日期在周日或周六,如何将周五作为工作日返回?
- javascript - 返回函数调用与仅在递归期间再次调用函数有什么区别?
- javascript - 当另一个 Input 控件的文本发生更改时,如何更改 Input 控件的值?
- pytorch - RuntimeError: 模块必须在设备 cuda:1 (device_ids[0]) 上有其参数和缓冲区,但在设备上找到其中之一:cpu