我在官方论坛上已经提出这个问题,但是还没有收到答案。Xamarin Android刷新片段
目前,我想要实现我的“智能家居”项目,通过控制多台设备(光,百叶窗,门,车库)使用Xamarin的Android智能手机。我用UDP数据包控制我的设备。
我现在尝试从我的Arduino接收UDP包检查的装置(例如光)是否是开还是关。对于这一点,我使用Udplistener:
class UdpListener
{
private readonly UdpClient _udpClient = new UdpClient(4210);
public async void StartListening()
{
while (true)
{
var result = await _udpClient.ReceiveAsync();
var message = Encoding.ASCII.GetString(result.Buffer);
if (message.Contains("1"))
{
Licht.GlobalVariables.lampe1 = "1";
}
else
{
Licht.GlobalVariables.lampe1 = "0";
}
}
}
}
当我接收到正确答案,我设置指示器以可见(在onCreateView),所以我可以在该应用内看到,如果一个灯的开/关。但这里是我有的问题: 只有当我重新加载片段时(这很有意义,因为它需要一些时间来接收UDP数据包),指示器才会显示。
有没有办法强制“刷新”我的当前片段(视图)一旦我收到UDP回答?我发现的每个代码都不被接受。
例如这个片段:
// Reload current fragment
Fragment frg = null;
frg = getSupportFragmentManager().findFragmentByTag("Your_Fragment_TAG");
final FragmentTransaction ft =
getSupportFragmentManager().beginTransaction();
ft.detach(frg);
ft.attach(frg);
ft.commit();
@Peter潘,你解决问题了吗? –