在Unity中获取运行时创建的列表项的属性

时间:2015-05-29 08:31:20

标签: list unity3d properties

我有一个包含运行时生成项目的滚动列表。每个项目都有一些属性,并有3个按钮喜欢,评论和删除。 现在我想要捕获项目的Like按钮的onClick事件,那么如何从onClick()获取项目的属性?

List
   Item1
       Name(Text)
       ID(string)
       Logo(Image)
       Like(Button)
       Comment(Button)
       Delete(Button)
   Item2
   Item3
   Item4

2 个答案:

答案 0 :(得分:1)

  1. 创建项目的预制件。

  2. 创建脚本并将其附加到预制件

  3. 在脚本中创建public类型的Button属性

  4. 在检查器中,将Like按钮拖到脚本中。

  5. 完成后,您将能够访问该按钮并使用它。

    我做了类似的事情,并提出了一个奇怪的问题,我修复了这个帖子4.6 UI How to apply OnClick handler for button generated at runtime (script)

    希望它对你有所帮助。

答案 1 :(得分:0)

因为我已经为列表项创建了预制件及其属性,所以我找到了一种通过使用此代码访问其祖父母属性的方法

GameObject parent = this.transform.parent.transform.parent.gameObject;
PostItem item = parent.GetComponent<PostItem>();
postID = item.PostID;