项目中需要做一个查看回放的功能,需要先查看当前文件夹下的所有txt文档并添加到UI上。
为每个txt文档做一个按钮用于打开该文档。
本文用于记录解决方法。
第一步:
制作一个包含text和button的预制体用于进行实例化
第二步:
在脚本中实例化多个预制体
for(int i = 0; i < count; i++){
Instantiate(Prefab, content);}
第三步:
为实例化物体添加按钮响应事件。
此处出现问题,按钮点击无法响应,原代码如下:
for(int i = 0; i < count; i++)
{
button[i] = prefab.GetComponent<Button>();
buttons[i].onClick.AddListener(() => recordCheck(filePath));
Instantiate(Prefab, content)
}
此处无报错但是按钮无法响应点击事件。
原因是button[i]并没有挂载到实例化后的物体上,而是挂载到了预制体中。
解决办法是先将button实例化,再挂载到实例化物体上,如下:
for(int i = 0; i < count; i++)
{
Instantiate(Prefab, content)
button[i] = content.GetChild(i).GetComponent<Button>();
buttons[i].onClick.AddListener(() => recordCheck(filePath));
}
成功解决!
下班!!!!!!!!!!!!!!!!!!!!!!!!