2011-01-29 9 views
1

확인란의 상태를 검사하고 있습니다. 아래 코드를 사용하고 있습니다. 앱이 시작되면 (체크 박스가 선택 취소되어 있음) 토스트 메시지에 "선택 취소 됨"이라고 표시됩니다. 그러나 다른 화면을 열었다가 다시 돌아 가면 더 이상 말하지 않습니다. 그렇게하는 방법? 부분 코드 :이 코드에서Android 체크 박스 상태 검사

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    cb1 = (CheckBox) findViewById(R.id.CheckBox01); 
    if (cb1.isChecked()) 
    { 
     Toast.makeText(main.this, "checked", Toast.LENGTH_SHORT).show(); 
    } 
    else 
    { 
     Toast.makeText(main.this, "NOT checked", Toast.LENGTH_SHORT).show(); 
    } 

}

는 또한 사용자가 클릭 할 때 내가 체크 박스의 상태를 검사 오전

cb1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){ 
     @Override 
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) 
     {   
      //blablabla 
     } 
     }); 

부분이있다.

이 화면이 표시 될 때마다 확인란의 상태를 검사하고 싶습니다.

답변

3

onResume() 대신 onCreate()을 사용하십시오.

here 당신이 활동의 ​​라이프 사이클 다이어그램을 볼 수 있습니다 이 onCreate()에만 활동의 생명의 시작 부분에 한 번이라고 ... 반면에 onResume()은 활동이 전면에 돌아올 때마다 전화입니다.

그러나 OnCheckedChangeListener 항목은 그대로 유지되므로 onCreate() 또는 으로 신고해야합니다.

+0

Brilliant! 고맙습니다! OnCheckedChangeListener 물건이 onCreate() 메소드에서 선언 된 이유. – erdomester