将 OnClick 事件添加到 ScrollView 中的按钮时出现问题

Problem adding OnClick event to buttons in a ScrollView

我以前这样做没有问题,但现在不行了。

我正在 PlayFab 中实现 FriendsList 并使用预制按钮填充 ScrollView 列表。我为每个按钮添加了一个 OnClick 事件,但我无法触发它。

我测试了不同的方法,但仍然无法正常工作。

我通过在屏幕底部和循环外部添加一个按钮来进行测试,并且有效。我已经测试过将按钮添加到列表,然后在填充滚动视图后添加 OnClick。

这是我目前使用的代码:

void DisplayFriends(List<FriendInfo> friendsCache)
{
    DestroyFriendsContainer();

    foreach (FriendInfo _friends in friendsCache)
    {
        GameObject _listing = Instantiate(friendsPrefab, friendsContainer);
        _listing.name = _friends.TitleDisplayName;

        var _button = _listing.GetComponent<Button>();
        _button.onClick.AddListener(SelectPlayerActivity);
        print(">> " + _button.name);

        FriendsListing _tempListing = _listing.GetComponent<FriendsListing>();
        Debug.Log(_tempListing.txt_PlayerName);
        Debug.Log(_friends.TitleDisplayName);
        _tempListing.txt_PlayerName.text = _friends.TitleDisplayName;
    }

    friendsCache.ForEach(f => Debug.Log(f.FriendPlayFabId));

}

void SelectPlayerActivity()
{
    print("Player Name: ");
}

实景图如下:

您可以将其设为 public void 并在 gameObject 中制作 ButtonHandler 并使用该对象