我在官方論壇上已經提出這個問題,但是還沒有收到答案。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潘,你解決問題了嗎? –