Проблема в том, что вы делаете что-то правильно, пытаясь выполнить обновление в отдельном Runnable ... однако, ваш Runnable работает в потоке пользовательского интерфейса и поэтому заставляет поток пользовательского интерфейса сидеть в цикле (включая1001 *).Вы не получаете свои обновления, потому что заставляете пользовательский интерфейс ждать вас.
Если ваша обработка достаточно тяжелая, вы можете разбить ее на отдельный поток и отправить сообщения обработчику.В противном случае может быть проще всего сделать что-то вроде следующего (не проверено, но что-то похожее):
if (Environment.MEDIA_MOUNTED.equals(state)) {
textStatus.postDelayed(new Runnable() {
public void run() {
WifiInfo info = wifi.getConnectionInfo();
Date d = new Date(System.currentTimeMillis());
String stat = "\n\nWiFi Status: " + info.getRssi()
+ " " + d.getHours() + ":" + d.getMinutes()
+ ":" + d.getSeconds();
textStatus.append(stat);
// relaunch if we're not through with our number of iterations.
// mCount is a new field.
if(mCount++ < 5) {
textStatus.postDelayed(this, 1000);
}
}
}, 1000);
}