2017-01-06 3 views
0

無線LANの状態が接続されているかどうかを確認するコードを実装しました。私はそれが動作しますが、それは、動的に更新されませんので、私は無線LANをオフにした場合、私はTextViewには(バインドされていないデータ)を変更するための活動をリフレッシュする必要があるテキストビューテキストビューデータを動的に更新するAndroid Java

TextView WifiTv = (TextView) findViewById(R.id.wifistate); 

    ConnectivityManager connectionManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
    NetworkInfo wifiCheck = connectionManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 


    if (wifiCheck.isConnected()) { 
     // Do whatever here 
     WifiTv.setText("WiFi is Connected"); 
     WifiTv.notify(); 
    } else { 
     WifiTv.setText("WiFi is not Connected"); 
    } 

を作りました。どのように更新せずにテキストビューの更新を行うことができますか? Thx

編集:私はトーストでうまく動作する別のクラスでこのコードを持っています。私がしたいのは、代わりにtextviewで表示することだけです。 textview変数をxmlを持たないこのクラスに接続するにはどうしたらいいですか?

public void onReceive(Context context, Intent intent) { 

    NetworkInfo info = 
      intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO); 
    if (info != null && info.isConnected()) { 
     // Do your work. 
     // e.g. To check the Network Name or other info: 
     WifiManager wifiManager = (WifiManager) 
       context.getSystemService(Context.WIFI_SERVICE); 
     WifiInfo wifiInfo = wifiManager.getConnectionInfo(); 
     String ssid = wifiInfo.getSSID(); 

     Toast.makeText(context, "Connected to: " + ssid, 
       Toast.LENGTH_SHORT).show(); 


    } 
+0

onResume以内にそれらを再度作成する?

@Override protected void onResume() { super.onResume(); if (wifiCheck.isConnected()) { // Do whatever here WifiTv.setText("WiFi is Connected"); WifiTv.notify(); } else { WifiTv.setText("WiFi is not Connected"); } } 

、あなたのアプリを知っているが、多分これはいけませんか – Ahmar

答えて

0

あなたはBroadcastReceiverとwifimanagerが必要です。 BroadcastReceiverは、アプリケーションが毎回暗黙インテントを受け取るために起動するときに起動します。 wifimanagerを押してステータスを確認します。

0

youtアクティビティを再開するたびに再度確認するonResume関数を追加しようとしましたか?

あなたの他の変数は、活動にグローバルでない場合は、このコードスニペットを呼び出すないとき、

関連する問題