将 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 并使用该对象
我以前这样做没有问题,但现在不行了。
我正在 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 并使用该对象