在线程listView适配器崩溃xamarin

时间:2017-08-17 15:13:14

标签: c# xamarin xamarin.android

new Thread(() =>
    {
        while (true)
        {                 
            IList<ScanResult> scanwifinetworks = wifiManager.ScanResults;
            foreach (Android.Net.Wifi.ScanResult wifinetwork in scanwifinetworks)
            {
                try
                {
                    if (wifissid != (wifinetwork.Ssid))
                    {
                        wifissid = wifinetwork.Ssid;
                        lstSource.Add(new Person() { wifi_Rssi = wifinetwork.Level, wifi_ssid = wifissid });
                        Console.WriteLine(wifi_rssi);

                        var adapter = new CustomAdapter(this, lstSource);
                        lstData.Adapter = adapter;
                        Console.WriteLine(WiFiNetworks);
                    }
                }
                catch (Exception)
                {
                    Console.WriteLine("EXscption");
                }
                Thread.Sleep(2000);
            }
        }
    }).Start();

如果我尝试在ListView中做任何事情,我可以添加但是当我尝试添加线程时它会崩溃(lstData.Adapter = adapter;)。

1 个答案:

答案 0 :(得分:1)

Android中禁止从脱机线程修改UI。您需要将其发布到UI线程并在那里设置适配器。