私は公式フォーラムですでにこれを尋ねたが、まだ返事を受信しませんでした。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パンは、あなたの問題を解決してきましたか? –