2013-03-12 4 views
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); 
         } 
       } 
      }); 
     } 
+0

(http://www.oracle. co.kr/technetwork/java/javase/documentation/codeconventions-135099.html # 367)을 참조하십시오. 이것들은 안드로이드 표준이기도하며, WiFiMan과 WiFi ToggleButton과 같은 변수는 lowerCamelCase가되어야한다. UpperCamelCase는 일반적으로 클래스 이름 용으로 예약되어 있습니다. –

답변

2

후 사용하십시오 WifiManager입니다.


마지막으로,이 같은 코드 :

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

이 단순화 될 수면 : [자바 코드 규칙] 다음은 고려해야

WiFi.setEnabled(WifiMan.isWifiEnabled()); 
+0

그게 다예요, 고마워요. – user2083882

2

는 다음 문제는 토글을 클릭하는 경우에만 와이파이 상태 (그리고 토글 상태)를 확인하는 것입니다.

액티비티 onCreate()WiFiMan.isWifiEnabled()에 대한 체크를 추가하면 액티비티가 생성 될 때 토글의 상태를 쉽게 설정할 수 있습니다.

WiFi.setChecked(WifiMan.isWifiEnabled()); 

는 또한 약 Java naming convention 변수 이름은 소문자로 시작해야한다고하는 읽어 보시기 바랍니다 : 가정 WifiMan

+1

우리가 같은 조언을 같은 시간에 두 번 게시했기 때문에 저의 upvote. 코드 용으로 한 번, 명명 규칙에 대해 두 번째 – Sam