有关多个widget的listener的问题

wyl_stream 2009-07-14 02:20:58
具体问题描述如下:
在window的rootContainer下有多个button Widget,有没有一种办法,使得只要用到一个listerner,当监听到触摸屏事件时,在listener相应的处理函数里选择对应的widget进行处理,而不必对所有的button Widget都要添加listener。
谢谢!
...全文
519 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wyl_stream 2009-07-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wireless_com 的回复:]
不建议这么做,把简单的问题弄复杂了
[/Quote]
如果都用listener,那么代码量太大了,想象一下几十个BUTTON就要有几十个listener
givenup 2009-07-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wireless_com 的回复:]
不建议这么做,把简单的问题弄复杂了
[/Quote]
有什么简便的方法吗?提示下
sunyymq 2009-07-15
  • 打赏
  • 举报
回复
当前界面上激活的应该是只有一个的。
  • 打赏
  • 举报
回复
不建议这么做,把简单的问题弄复杂了
givenup 2009-07-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wyl_stream 的回复:]
引用 2 楼 givenup 的回复:

从来没这样做过。可以尝试让所有的button共用一个listener,然后在listener中去处理。可以试试下面这两种方法
(1)依据点击的位置判断是哪个widget去响应
(2)点击发生地情况下,你可以获取发生点击事件的viewmodel,然后依次获取各个widget的viewmodel进行比较。

如果这样做可以的话请回复下,哈哈

呵呵,我一开始想到的也是第一种方法,可首先就被上头否决了。
至于第二种方法,可以获取点击事…
[/Quote]
typedef struct ModelEvent {
uint32 evCode;
IModel * pModel;
uint32 dwParam; // event specific data (pos, mode, etc.)
} ModelEvent;
ModelEvent的第二个参数就是pModel,但是不知道是不是ViewModel,因为没有这样做过。
wyl_stream 2009-07-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sunyymq 的回复:]
所有的都监听,但是处理该事件的只会有一个啊!
[/Quote]
你说的我明白,点击事件可以在定义的windowHandler()里捕获到,但现在关键的是到时候该怎么判断是哪个widget要进行操作。
wyl_stream 2009-07-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 givenup 的回复:]
从来没这样做过。可以尝试让所有的button共用一个listener,然后在listener中去处理。可以试试下面这两种方法
(1)依据点击的位置判断是哪个widget去响应
(2)点击发生地情况下,你可以获取发生点击事件的viewmodel,然后依次获取各个widget的viewmodel进行比较。

如果这样做可以的话请回复下,哈哈
[/Quote]
呵呵,我一开始想到的也是第一种方法,可首先就被上头否决了。
至于第二种方法,可以获取点击事件的viewmodle吗?该如何获取呢?我所看的例子好像都没有这么做的哎。
老兄,你回了我很多问题啦,多谢多谢,呵呵
givenup 2009-07-14
  • 打赏
  • 举报
回复
从来没这样做过。可以尝试让所有的button共用一个listener,然后在listener中去处理。可以试试下面这两种方法
(1)依据点击的位置判断是哪个widget去响应
(2)点击发生地情况下,你可以获取发生点击事件的viewmodel,然后依次获取各个widget的viewmodel进行比较。

如果这样做可以的话请回复下,哈哈
sunyymq 2009-07-14
  • 打赏
  • 举报
回复
所有的都监听,但是处理该事件的只会有一个啊!

955

社区成员

发帖
与我相关
我的任务
社区描述
为开发者提供高通丰富的解决方案及全面技术下载内容。本版以AI人工智能、WoS移动笔记本、XR、IoT 物联网、Auto 汽车、生成式AI等核心板块组成,为开发者提供一个便捷及高效的学习交流平台。
人工智能物联网机器学习 企业社区 北京·东城区
社区管理员
  • Qualcomm开发
  • csdnsqst0050
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧