为什么TreeViewer的setSelection方法没作用了
来源:互联网 发布:mysql防止sql注入 编辑:程序博客网 时间:2024/05/16 15:39
TreeViewer的setSelection方法使用后,会在树上选中并展开方法参数中对应的节点,但有时候你会觉得这个方法执行后似乎没有达到预期的效果,或者说根本没效果;有时候又必须先在树上曾经展开过这个节点后,关闭树节点,然后执行此方法才会看到预期的效果,为什么会这样呢?
出现上述情况,是因为你给TreeViewer对象曾经使用setContentProvider()方法并设置了一个ITreeContentProvider类型的值很有关系。 不是说ITreeContentProvide这个接口有什么问题,而是当你实现这个接口的时候,一定要同时实现getChildren()和getParent()这两个方法,因为在通常情况下,getParent()方法即使空实现,你也能够得到一棵看起来很正常的树,所以很多情况下人们会无意间忽略getParent()的实现。一旦你使用TreeViewer的setSelection()方法,想在树上找到对应的节点,那么在Jface的代码实现中,会先去找该元素在树上的路径,然后getParent方法就会被调用,一旦返回空值,该元素的搜索路径就会中断,因此便无法选中树上对应的元素,展不开树以及无法选中对应的节点也就不足为怪了
- 为什么TreeViewer的setSelection方法没作用了
- TreeViewer的setselection方法不能选中树的子节点
- 为什么ListView的setSelection无效了?
- ListView的setSelection()方法的作用
- Android ListView setSelection()无效没作用
- android GridView横向滑动后 为什么MyGridView.setSelection(position) 就没效果了
- ListView的setSelection()方法
- Android setSelection 没起作用的解决办法
- Shiro的 rememberMe 功能使用指导(为什么rememberMe设置了没作用?)
- Shiro的 rememberMe 功能使用指导(为什么rememberMe设置了没作用?)
- 为什么我写的文章没了?
- EditText的setSelection()方法失效的问题
- Android ListView setSelection()方法的介绍
- xcode4中UIViewController为什么没了dealloc方法
- 为什么点了下东西的没下,记分却没了、。
- JFace TreeViewer 的内容提供器的方法调用顺序
- Android Gallery setSelection()和onFling()方法的区别
- unLock方法为什么没执行
- SQL like 查询注意事项
- Voip softphone
- outlook
- 论程序脆弱与不可预见输入——L0ft_FC_Shoo
- 今年冬天
- 为什么TreeViewer的setSelection方法没作用了
- Telnet 本地字符回显(XP)
- 让你的皮肤美起来:皮肤最喜欢的十种食品
- 关于mysql数据库的用户登陆密码问题
- 在服务器端运行JavaScript文件(三)
- 6300刷机过程
- 橙子的16个神奇妙用
- Effective C#之Item 38:Utilize and Support Data Binding
- 大数阶乘的算法