2012-03-17 1 views
1

Я создал несколько checkboxex в своем макете, и мне нужно обновить базу данных в зависимости от состояния флажков .... как я могу это сделать? что? ниже код DynamicActivity.javaКак получить состояние флажка, чтобы я мог обновить мою базу данных ?? # android

package com.android.layout; 
    import android.app.Activity; 
    import android.database.Cursor; 
    import android.os.Bundle; 
    import android.view.View; 
    import android.widget.*; 

    public class DynamicActivity extends Activity { 
     /** Called when the activity is first created. */ 
     DBAdapter db = new DBAdapter(this); 
     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 

      char[] save={'s','a','v','e'}; 

      db.open();   
      long id; 
      for(int i=0;i<25;i++){ 
      id = db.insertRow("08241A05"+(i+10),1); 

      } 
      Cursor c=db.getAllRows(); 
      startManagingCursor(c);   
      c.moveToFirst(); 

      ScrollView sv=new ScrollView(this); 
      TableLayout tl=new TableLayout(this); 

      for(int i=0;i<25;i++){ 
       TableRow tr=new TableRow(this); 

       TextView tv= new TextView(this); 
       tv.setText(c.getString(c.getColumnIndexOrThrow(db.KEY_ROLLNO))); 
       tv.setPadding(0, 1, 10, 1); 
       tr.addView(tv); 
       c.moveToNext(); 
       CheckBox cb=new CheckBox(this);//creation of checkboxes 
       cb.setChecked(true); 
       cb.setId(i+10); 

       tr.addView(cb); 

       tl.addView(tr); 
      } 
      Button saveButton=new Button(this); 

      saveButton.setText(save,0,4); 
      saveButton.setOnClickListener(new View.OnClickListener() { 

       @Override 
       public void onClick(View v) { 
        // TODO Auto-generated method stub 
        update(); 
       } 
      }); 
      tl.addView(saveButton); 
      sv.addView(tl); 
      setContentView(sv); 

     } 

     protected void update() { 
       //i am trying get the vlaues here and update when save button is pressed    

     if(cb1.isChecked()){ 
      db.update("", 1); 
     } 
     else{db.update("",0);} 

     db.close(); 
     } 


        } 

я хотел бы знать, что это лучший способ, чтобы retrive состояния всех checkboxex в способе обновления ???

ответ

1

вы можете сделать так:

CheckBox cb=new CheckBox(this); 
cb.setOnCheckedChangeListener(new OnCheckedChangeListener{ 

    @Override 
    public void onCheckedChanged(CompoundButton cb, 
      boolean isChecked) { 
       //do something here ... 
      } 
}); 
+0

дает ошибку при использовании ... –

+0

какая ошибка? я просто обнаружил, что я забыл '}' в своем коде – Allen

1

Вы можете получить статус, когда сохранить кнопка нажата

saveButton.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     for(int i=0; i<25; i++) { 
      CheckBox cb = (CheckBox) DynamicActivity.this.findViewById(i+10); 
      boolean isChecked = cb.isChecked(); 
      // save it here 
     } 
    } 
}); 
Смежные вопросы