마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 토글버튼 ON, OFF 기능이요.

0 추천
        
맨마지막에

   if(btn5.isChecked() || btn6.isChecked()){
        btn7.setVisibility(View.VISIBLE);
         text3.setTextColor(Color.rgb(0, 0, 0));  

란 소스를 넣어서 둘중 하나가 체크상태이면 버튼7이 활성화되도록 했는데... 
이게 왜안먹는지..

버튼5,6 중 하나라도 ON상태이면 버튼7이 활성화 되도록 하고 싶습니다..


 

 

 

헬프미 (5,430 포인트) 님이 2014년 12월 29일 질문
헬프미님이 2015년 1월 2일 수정

1개의 답변

0 추천
 
채택된 답변
btn5.setOnClickListener 보다는

setOnCheckedChangeListener 를 달아서 사용해보셔요..

그럼

@Override
            public void onCheckedChanged(CompoundButton buttonView,
                    boolean isChecked) {
            }

에서 현재 버튼의 상태를 isChecked 를 통해 알수 있지요
nicehee (73,100 포인트) 님이 2014년 12월 29일 답변
헬프미님이 2015년 1월 3일 채택됨
아니요. 현재소스도 잘되는데요.    
버튼5,6이 둘다 체크가 됬다가 5,6 중 하나가 OFF가 되면 버튼7이 비활성되는데. 그 것 때문에 여쭤본거 거든요..
if(btn5.isChecked() || btn6.isChecked()){
        btn7.setVisibility(View.VISIBLE);
         text3.setTextColor(Color.rgb(0, 0, 0));
이부분은 한번만 실행되것지요??
이코드를  btn5, btn6 리스너안으로 옮겨보셔요
옴겨도 안되네요...ㅋㅋ
           btn5.setOnClickListener(new OnClickListener(){
               public void onClick(View v){
                 if(btn5.isChecked()){
                     Toast.makeText(settingActivity.this,"3G/LTE 네트워크에 연결 후 자동으로 App 안전등급 및 정보를 업데이트 합니다. ",
                     Toast.LENGTH_SHORT).show();
                     btn5.setBackgroundColor(Color.rgb(53, 182, 44));
                     btn5.setTextColor(Color.rgb(255, 255, 255));
                     btn7.setVisibility(View.VISIBLE);
                     text3.setTextColor(Color.rgb(0, 0, 0));
                     
                         if(btn5.isChecked() || btn6.isChecked()){
                          btn7.setVisibility(View.VISIBLE);
                          text3.setTextColor(Color.rgb(0, 0, 0));
                         }
                     }
       
                     else {
                     Toast.makeText(settingActivity.this,"3G/LTE 네트워크에 연결이 해지되었습니다. ",
                     Toast.LENGTH_SHORT).show();
                      btn7.setVisibility(View.INVISIBLE);
                     text3.setTextColor(Color.rgb(166, 166, 166));
                     btn5.setBackgroundColor(Color.rgb(212, 212, 212));
                     btn5.setTextColor(Color.rgb(0, 0, 0));
              }
           }
           });
                  
          btn6.setOnClickListener(new OnClickListener(){
                public void onClick(View v){
                  if(btn6.isChecked()){
                     Toast.makeText(settingActivity.this,"WIFI 네트워크에 연결 후 자동으로 App 안전등급 및 정보를 업데이트 합니다.",
                     Toast.LENGTH_SHORT).show();
                     btn6.setBackgroundColor(Color.rgb(53, 182, 44));
                     btn6.setTextColor(Color.rgb(255, 255, 255));
                     btn7.setVisibility(View.VISIBLE);
                     text3.setTextColor(Color.rgb(0, 0, 0));
                     
                     if(btn5.isChecked() || btn6.isChecked()){
                      btn7.setVisibility(View.VISIBLE);
                      text3.setTextColor(Color.rgb(0, 0, 0));
                     }                     
                      }
           
                     else {
                     Toast.makeText(settingActivity.this,"WIFI 네트워크에 연결이 해지되었습니다. ",
                     Toast.LENGTH_SHORT).show();
                      btn7.setVisibility(View.INVISIBLE);
                     text3.setTextColor(Color.rgb(166, 166, 166));
                     btn6.setBackgroundColor(Color.rgb(212, 212, 212));
                     btn6.setTextColor(Color.rgb(0, 0, 0));
              }
           }
          });
           

       btn7.setOnClickListener(new OnClickListener(){
            public void onClick(View v){
              if(btn7.isChecked()){
                  Toast.makeText(settingActivity.this,"일정 시간마다 주기적으로 업데이트할 항목이 있는지 확인하고 자동으로 DB 업데이트를 진행 합니다. 안전한 모바일 환경을 위해 최신 DB를 유지할 수 있도록 DB 자동 업데이트(ON)을 추천합니다. ",
                  Toast.LENGTH_SHORT).show();
                  btn7.setBackgroundColor(Color.rgb(53, 182, 44));
                  btn7.setTextColor(Color.rgb(255, 255, 255));
                  }
                  else{
                 Toast.makeText(settingActivity.this,"사용자가 직접 업데이트 버튼을 터치하여 수동으로 DB 업데이트를 진행합니다. 안전한 모바일 환경을 위해 최신 DB를 유지할 수 있도록 DB 자동 업데이트(ON)을 추천합니다. ",
                 Toast.LENGTH_SHORT).show();
                 btn7.setBackgroundColor(Color.rgb(212, 212, 212));
                 btn7.setTextColor(Color.rgb(0, 0, 0));
                  }     
       }
       
      });
...