需求描述:
你提供一个接口给我,让我更新界面的显示吧,让我在ConnectivityService调,
如updateWifiState(openState,connectState,connectedAP,rssi,scanResult)
wifi暂时显示这几个信息:
"Wifi打开状态"
"Wifi连接状态"
"Wifi当前连接"
"Wifi信号强度"
"扫描到的接入点"
===================
如何刷新activity上的一个textView
收到一个广播后就刷新textview,setText后内容没有显示出来,要按一下activity上的按键才显示出来!
如何才能一收到广播就刷新textview的内容。
------解决方案--------------------
handler
------解决方案--------------------
收到广播后,sendmessage,handler接收处理更新就好了
------解决方案--------------------
你debug一下,看你的setText到底有没有执行到
------解决方案--------------------
当然用Handler呀,还有post,和AsyncTask方式都是可以的。
代码如下:
Handler handler = new Handler();
Runnable update = new Runnable() {
@Override
public void run() {
wifiAdapter.notifyDataSetChanged();
}
};
public void updateWifi(int position, String value) {
if (null == wifiAdapter)
return;
try {
wifiAdapter.serItem(position, value);
handler.post(update);
} catch (Exception e) {
e.printStackTrace();
}
}
///
adapter.notifyDataSetChanged();
service 后台服务调用一个线程,来自动的刷新,listview 调用 adapter 的notifydatasetchanged 方法就能更新界面了