HarmonyOS slider绑定滑动手势,手势回调里的event.fingerList数组长度是2,但是第一个元素是null,导致应用crash
相关代码
@Entry
@Component
export struct List0FailComponent {
@State redVisibility: Visibility = Visibility.None
build() {
Column() {
Text("slider")
.gesture(LongPressGesture({ fingers: 1, repeat: false, duration: 500 })
.onAction((event) => {
this.redVisibility = (this.redVisibility == Visibility.Visible) ? Visibility.None : Visibility.Visible
})
.onActionEnd(() => {
this.redVisibility = (this.redVisibility == Visibility.Visible) ? Visibility.None : Visibility.Visible
}))
Stack() {
Slider({
min: 0,
max: 100
})
.gesture(PanGesture()
.onActionStart((event) => {
console.log('--- ' + JSON.stringify(event.fingerList));
let x = event.fingerList[0].localX
}))
.width('100%')
.height(100)
Stack()
.width('100%')
.height(100)
.backgroundColor('red')
.visibility(this.redVisibility)
}
.margin({ top: 200})
}
}
}
问题复现手段
通过两个手指来操作,一个手指长按“slider”文本,待红色stack快要盖住slider之前,另一个手指滑动slider。可能有点不好复现,比较考验手速!
app直接crash,日志如下
Error message:Cannot read property localX of undefined
SourceCode:
let x = event.fingerList[0].localX;
^
Stacktrace:
at anonymous (entry/src/main/ets/pages/ListTest.ets:31:23)
通过打印日志,可以看到event.fingerList的结构是这样的
[null,{"id":1,"globalX":66.39462984525241, ...]
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
多个手势连续识别时,第一个手势不触发onActionEnd回调
1959浏览 • 1回复 待解决
HarmonyOS onGesture回调函数监听滑动手势事件
281浏览 • 1回复 待解决
HarmonyOS List第一个可见的ListItem
439浏览 • 1回复 待解决
HarmonyOS fingerList[0]获取为空导致crash
221浏览 • 1回复 待解决
HarmonyOS是否有滑动手势能模拟系统的Scroll,滑动惯性?
569浏览 • 1回复 待解决
HarmonyOS 如何返回路由的第一个视图
177浏览 • 1回复 待解决
HarmonyOS RN:升级手机ROM,Tabs滑动手势反了
3浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过滑动手势实现组件的旋转?
179浏览 • 1回复 待解决
HarmonyOS Swiper组件在删除数据时如何实现切换到前一个元素而非第一个
29浏览 • 1回复 待解决
如何在长按手势回调方法里获取手指触摸点的坐标
1847浏览 • 1回复 待解决
HarmonyOS 如何在长图展示时加入滑动手势?
357浏览 • 1回复 待解决
手势滑动退出HarmonyOS应用的规格
178浏览 • 1回复 待解决
HarmonyOS tabs滑动切换时长,第一个tab右滑回弹大,最后一个tab左滑回弹大
149浏览 • 1回复 待解决
HarmonyOS FrameNode手势检测crash
23浏览 • 1回复 待解决
HarmonyOS 一个控件要识别滑动和拖动怎么写组合手势 滑动怎么判断方向
286浏览 • 1回复 待解决
在Web组件中如何监听手势滑动返回上一个Web页面
891浏览 • 1回复 待解决
HarmonyOS 在卡片内执行滑动手势,也会触发onclick事件
169浏览 • 1回复 待解决
HarmonyOS 网络拦截解析第一个url后,就不继续了
250浏览 • 1回复 待解决
HarmonyOS 如何是实现手势密码功能
729浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过滑动手势实现HarmonyOS NEXT中的Tab内容切换?
414浏览 • 1回复 待解决
Web组件中如何通过手势滑动返回上一个Web页面
2994浏览 • 1回复 待解决
HarmonyOS 拖动手势距离的单位是什么
281浏览 • 1回复 待解决
HarmonyOS 图片组件手势滑动
24浏览 • 1回复 待解决
HarmonyOS 使用ObjectLink观察对象中的数组,修改数组长度,监听不到数据变化
781浏览 • 1回复 待解决
增加判空处理,接口文档中有说明:手指索引编号与位置对应,即fingerList[index]的id为index。先按下且未参与当前手势触发的手指在fingerList中对应位置为空。
参考文档:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-gesture-settings-V5#gestureevent%E5%AF%B9%E8%B1%A1%E8%AF%B4%E6%98%8E