아이콘을 표시하는 필드에 바인딩 데이터는, I는 무선 하나가 또는 와이파이 단선 접속 나타내는 부울 값을 유지하는 클래스 WifiManager
있다.로이드 - 정합
부울 필드는 해당 클래스에있는 broadcastReceiver
으로 업데이트됩니다. 내 MainActivity
에서
private BroadcastReceiver wifiScanReceiver;
private boolean isWifiConnected = false;
wifiScanReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context c, Intent intent) {
// Wifi connected/disconnected
NetworkInfo nwInfo = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
final WifiInfo connectionInfo = wifiManager.getConnectionInfo();
if (nwInfo.getState().equals(NetworkInfo.State.CONNECTED)) {
// wifi connect
isWifiConnected = true;
} else {
// wifi disconnected
isWifiConnected = false;
}
}
};
context.registerReceiver(wifiScanReceiver, wifiIntentFilter);
나는 WifiManager
필드가 있고, 내가 원하는 데이터를 결합하는 것입니다 그 것이다 변화 부울 값에 따라 메뉴 항목 중 하나 - @drawalbe/xxx
에> 경우 isWifiConnected=false
설정 아이콘 , isWifiConnected=true
의 경우 아이콘을 @drawalbe/yyy
으로 설정하십시오. isWifiConnected
값의 변화에 "청취자"의 종류를 가지고, 그 기반으로 - -
의미 @drawalbe/xxx
또는 @drawalbe/yyy
중 하나에 MenuItem
의 아이콘 중 하나를 설정합니다.
은 내가 BroadcastReceiver
에 Intent
방송에서, 그것을 단지 Handler
실행을 위해 MainActivity
에 잡을 수있는 방법의 톤이 알고와 isWifiConnected
3 초마다 확인 ..
내가 무엇 실제로은 데이터 바인딩과 같습니다. 사용자가 MVVM 프로젝트에서와 같이 변환기를 사용합니다.
안드로이드에 그런 것이 있습니까?