从回调方法 (C#) 更新 UI
Update UI from callback methode (C#)
我有一个事件处理程序,它在事件 lobbyParicipantAdded
到达后调用一个方法 (onLobbyParticipantAdded
)。
在方法onLobbyPaticipantAdded
中,如果要在UI中更改某些内容,它总是结束。
这是我的代码
public override void ViewDidLoad()
{
base.ViewDidLoad();
EventHandler.Add("lobbyParticipantAdded", onLobbyParticipantAdded);
}
public void onLobbyParticipantAdded(dynamic obj)
{
LobbyParticipantAdded l = new LobbyParticipantAdded();
l = obj;
SC1.Text = l.displayname;
Ready1.Text = "Ready";
}
有人知道这个问题吗?并知道如何解决?
您需要在主线程中执行 UI 相关代码(如下例)
public void onLobbyParticipantAdded(dynamic obj)
{
LobbyParticipantAdded l = new LobbyParticipantAdded();
l = obj;
this.InvokeOnMainThread (() =>
{
SC1.Text = l.displayname;
Ready1.Text = "Ready";
});
}
我有一个事件处理程序,它在事件 lobbyParicipantAdded
到达后调用一个方法 (onLobbyParticipantAdded
)。
在方法onLobbyPaticipantAdded
中,如果要在UI中更改某些内容,它总是结束。
这是我的代码
public override void ViewDidLoad()
{
base.ViewDidLoad();
EventHandler.Add("lobbyParticipantAdded", onLobbyParticipantAdded);
}
public void onLobbyParticipantAdded(dynamic obj)
{
LobbyParticipantAdded l = new LobbyParticipantAdded();
l = obj;
SC1.Text = l.displayname;
Ready1.Text = "Ready";
}
有人知道这个问题吗?并知道如何解决?
您需要在主线程中执行 UI 相关代码(如下例)
public void onLobbyParticipantAdded(dynamic obj)
{
LobbyParticipantAdded l = new LobbyParticipantAdded();
l = obj;
this.InvokeOnMainThread (() =>
{
SC1.Text = l.displayname;
Ready1.Text = "Ready";
});
}