2011-01-29 15 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()またはonStart()で宣言する必要があります。

+0

ブリリアント!ありがとうございました! なぜOnCheckedChangeListenerのものがonCreate()メソッドで宣言されているのでしょうか? – erdomester

関連する問題