访问List的itemRenderer的组件中定义的方法?

简介:
如何引用一个List的itemRenderer里的自定义方法,翻了翻手册也没大看见有现成的函数,终于琢磨出了一个,不知道好不好,发上来再说:
主程序文件List1.mxml:
<? xml  version ="1.0"  encoding ="utf-8"  ?> 
< mx:Application  xmlns:mx ="http://www.adobe.com/2006/mxml" > 
   < mx:Style > 
    Application 
    { 
    font-size:12px; 
    } 
   </ mx:Style > 
   < mx:Script > 
    import mx.controls.Alert; 
    import mx.controls.listClasses.ListBaseContentHolder; 
     

    private function handleClick():void 
    { 
      if(txt.text=="") 
      Alert.show("请输入数字1-7(注意:未验证合法性)"); 
      else 
      { 
        var n:int=parseInt(txt.text); 
        //这句是关键代码 
        (mylist.getChildAt(2) as ListBaseContentHolder).listItems[n-1][0].alertBtn(); 
      } 
    } 
   </ mx:Script > 
   < mx:Model  id ="arr" > 
     < root > 
       < item  label ="按钮1"  /> 
       < item  label ="按钮2"  /> 
       < item  label ="按钮3"  /> 
       < item  label ="按钮4"  /> 
       < item  label ="按钮5"  /> 
       < item  label ="按钮6"  /> 
       < item  label ="按钮7"  /> 
       < item  label ="按钮8"  /> 
       < item  label ="按钮9"  /> 
     </ root > 
   </ mx:Model > 
   < mx:List  id ="mylist"  dataProvider ="{arr.item}"  width ="100"     rowCount ="9"  leading ="0"  itemRenderer ="MyRenderer"  /> 
   < mx:TextInput  id ="txt"  /> 
   < mx:Button  label ="触发"  click ="handleClick();"  /> 
</ mx:Application >
 
itemRenderer的组件文件MyRenderer.mxml:
<? xml  version ="1.0"  encoding ="utf-8" ?> 
< mx:Box  xmlns:mx ="http://www.adobe.com/2006/mxml"  width ="100%"  height ="100%"  horizontalGap ="0"    
   verticalGap ="0"  paddingLeft ="0"  paddingRight ="0"     paddingTop ="0"  paddingBottom ="0" > 
   < mx:Script > 
    import mx.controls.Alert; 
     
    public function alertBtn():void 
    { 
    Alert.show("触发了alertBtn(),我是:"+btn.label); 
    } 
   </ mx:Script > 
   < mx:Button  id ="btn"  label ="{data.label}"  width ="100%"  cornerRadius ="0"  /> 
</ mx:Box >
 
运行演示,输入呼叫的实例位置1-9:我输入3,然后单击按钮:
可见调用了实例方法。
 
注:走了不少弯路,起初我以为通过List的getChildAt()可以得到renderer的引用,后来发觉不是,通过Alert它发现其实getChildAt(3)得到的是ListBaseContentHolder的实例,后查了查ListBaseContentHolder得方法里面有个listItems数组放着每一项的引用,于是有了引用什么都好说了。




本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/100683,如需转载请自行联系原作者

相关文章
|
存储 Java
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
391 4
List集合(方法简介,集合遍历)
List集合(方法简介,集合遍历)
|
前端开发 JavaScript UED
React 拖拽排序组件 Draggable List
在现代Web应用中,拖拽排序功能显著提升用户体验。使用React结合`react-dnd`库,可以轻松创建高效且易于维护的拖拽排序组件。通过简单的拖拽操作,用户能直观调整列表项顺序,适用于任务管理、看板工具等场景。实现步骤包括项目初始化、安装依赖、创建基础组件、添加拖拽功能及管理状态和事件。常见问题如拖拽效果不流畅、顺序未更新等可通过性能优化、正确处理索引交换等方式解决。移动端支持也需考虑,确保跨平台的良好体验。
1150 25
|
大数据 UED
「Mac畅玩鸿蒙与硬件16」鸿蒙UI组件篇6 - List和Grid组件展示数据列表
List 和 Grid 是鸿蒙开发中的核心组件,用于展示动态数据。List 适合展示垂直或水平排列的数据列表,而 Grid 则适用于展示商品或图片的网格布局。本篇将展示如何封装组件,并通过按钮实现布局切换,提升界面的灵活性和用户体验。
898 9
「Mac畅玩鸿蒙与硬件16」鸿蒙UI组件篇6 - List和Grid组件展示数据列表
|
Java 机器人 程序员
从入门到精通:五种 List 遍历方法对比与实战指南
小米是一位热爱分享技术的程序员,本文详细介绍了 Java 中遍历 List 的五种方式:经典 for 循环、增强 for 循环、Iterator 和 ListIterator、Stream API 以及 forEach 方法。每种方式都有其适用场景和优缺点,例如 for 循环适合频繁访问索引,增强 for 循环和 forEach 方法代码简洁,Stream API 适合大数据量操作,ListIterator 支持双向遍历。文章通过生动的小故事和代码示例,帮助读者更好地理解和选择合适的遍历方式。
832 2
|
数据可视化 前端开发 容器
Twaver-HTML5基础学习(41)列表可视化视图组件(List)
本文介绍了如何在Twaver-HTML5中使用列表可视化视图组件(List),展示了如何创建列表、设置列表属性(如行高、间隔颜色等)、实现数据绑定和排序,以及如何通过React代码示例进行操作。
314 2
Twaver-HTML5基础学习(41)列表可视化视图组件(List)
|
JavaScript 数据管理 虚拟化
ArkTS List组件基础:掌握列表渲染与动态数据管理
在HarmonyOS应用开发中,ArkTS的List组件是构建动态列表视图的核心。本文深入探讨了List组件的基础,包括数据展示、性能优化和用户交互,以及如何在实际开发中应用这些知识,提升开发效率和应用性能。通过定义数据源、渲染列表项和动态数据管理,结合虚拟化列表和条件渲染等技术,帮助开发者构建高效、响应式的用户界面。
1207 2
|
XML Java API
List与String相互转化方法汇总
本文汇总了List与String相互转化的多种方法,包括使用`String.join()`、`StringBuilder`、Java 8的Stream API、Apache Commons Lang3的`StringUtils.join()`以及Guava的`Joiner.on()`方法实现List转String;同时介绍了使用`split()`方法、正则表达式、Apache Commons Lang3的`StringUtils.split()`及Guava的`Splitter.on()`方法实现String转List。
2686 1
List与String相互转化方法汇总
|
Java
用JAVA架建List集合为树形结构的代码方法
这段代码定义了一个表示树形结构的 `Node` 类和一个用于构建树形结构的 `TreeController`。`Node` 类包含基本属性如 `id`、`pid`、`name` 和 `type`,以及子节点列表 `children`。`TreeController` 包含初始化节点列表并将其转换为树形结构的方法。通过过滤和分组操作实现树形结构的构建。详情可见:[代码示例链接1](http://www.zidongmutanji.com/zsjx/43551.html),[代码效果参考链接2](https://www.257342.com/sitemap/post.html)。
355 5
|
前端开发 Java 项目管理
List.of 问题之使用List.of方法为什么会引发前端解析失败的问题,如何解决
List.of 问题之使用List.of方法为什么会引发前端解析失败的问题,如何解决

热门文章

最新文章