0

ワイヤレスのオンとオフを切り替えるトグル ボタンがあります。それは正常に動作します。ただし、アプリに入ったときに、ワイヤレスが既にオンになっている場合は、トグル ボタンもオンにする必要があります。今はそうではありません。何かが正しくありません。これが私のコードです。

WifiManager WifiMan;
ToggleButton WiFi, GPRS;

    WiFi.setOnClickListener(new OnClickListener() {  //Ukljucuje WiFi

                @Override
                public void onClick(View v) {

                    if(WifiMan.isWifiEnabled())
                    {
                        WiFi.setEnabled(true);
                    }
                    else{
                        WiFi.setEnabled(false);
                    }

                    try
                      {
                        if (((ToggleButton)v).isChecked())
                        SwarmPopup.this.WifiMan.setWifiEnabled(true);
                        else
                            SwarmPopup.this.WifiMan.setWifiEnabled(false);
                      }
                    catch (Exception localException)
                      {
                        Log.e("SwarmPopup", "error on WiFi listerner: " + localException.getMessage(), localException);
                      }
                }
            });
        }
4

2 に答える 2

2

それがすべてのコードである場合 (そうであるとは思えません)、問題は、トグルがクリックされたときに WiFi ステータス (およびトグル ステータス) のみをチェックしていることです。

WiFiMan.isWifiEnabled()アクティビティのにチェックを追加すると、アクティビティのonCreate()作成時にトグルのステータスを簡単に設定できます。

于 2013-03-12T19:02:31.177 に答える
2

WifiManが WifiManager であると仮定して、次を使用します。

WiFi.setChecked(WifiMan.isWifiEnabled());

また、変数名は小文字で始める必要があるというJava 命名規則についてもお読みください。


最後に、次のようにコーディングします。

if(WifiMan.isWifiEnabled())
{
    WiFi.setEnabled(true);
}
else{
    WiFi.setEnabled(false);
}

次のように簡略化できます。

WiFi.setEnabled(WifiMan.isWifiEnabled());
于 2013-03-12T19:02:49.477 に答える