我正在尝试制作一个简单的应用程序来查找 WiFi 网络并连接到它们。我目前在更新 UI 时遇到问题。
如果有一些建议就太好了。感谢您抽出时间。
class UiUpdater extends AsyncTask<Void, Void, List<ScanResult>> {
@Override
protected void onPreExecute() {
super.onPreExecute();
TextView searching = (TextView) findViewById(R.id.searching);
searching.setText("Currently searching...");
}
@Override
protected List<ScanResult> doInBackground(Void... params) {
WifiManager manager = (WifiManager) Client.this.getSystemService(Context.WIFI_SERVICE);
if (!manager.isWifiEnabled())
manager.setWifiEnabled(true);
return manager.getScanResults();
}
@Override
protected void onPostExecute(List<ScanResult> items) {
super.onPostExecute(items);
ArrayList<Items> wifi = new ArrayList<>();
for (ScanResult s : items)
wifi.add(new Items(s.SSID, s.capabilities));
///TextView searching = (TextView) findViewById(R.id.searching);
///searching.setText("");
ListView list = (ListView) findViewById(R.id.list);
Explorer adapter = new Explorer(Client.this, R.layout.listview_item_row, wifi);
list.setAdapter(adapter);
clickListener(list, wifi);
}
}
最佳答案
请使用Toast消息或logcat或断点来检查onPost执行是否被调用
关于java - doInBackground 完成后 AsyncTask 不更新 UI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34623957/