如何在复选框/未选中的基础上更新数据库表

时间:2013-08-09 17:23:00

标签: android sqlite

this is the xml layout of the checkboxes

如何在按下更新按钮时检索复选框值以更新数据库表...

TeacherLoggedInClass

public class TeacherLoggedInPage extends Activity implements OnClickListener {

    Button UpdateAttendanceButton;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.attendancesheet);

        UpdateAttendanceButton = (Button) findViewById(R.id.bUpdateAttendance);
        UpdateAttendanceButton.setOnClickListener(this);

    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub


    }

}

2 个答案:

答案 0 :(得分:2)

isChecked()方法返回一个包含所需信息的布尔值。

我还建议您使用另一种方式来实现Listener。这就是Google推荐的内容:

public class MyActivity extends Activity {
 protected void onCreate(Bundle icicle) {
     super.onCreate(icicle);

     setContentView(R.layout.content_layout_id);

     final Button button = (Button) findViewById(R.id.button_id);
     button.setOnClickListener(new View.OnClickListener() {
         public void onClick(View v) {
             // Perform action on click... for example your checkBox.isChecked()
         }
     });
 }

答案 1 :(得分:0)

如果您想获得单个复选框值并设置数据库,可以按照以下代码进行操作

public class TeacherLoggedInPage extends Activity implements OnClickListener {

Button UpdateAttendanceButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.attendancesheet);

    UpdateAttendanceButton = (Button) findViewById(R.id.bUpdateAttendance);
    UpdateAttendanceButton.setOnClickListener(this);

}

@Override
public void onClick(View v) {
    // TODO Auto-generated method stub
    if (cbBox.isChecked()) {
        // do your operation
    } else {
        // do your operation
    }

}

}

如果您需要使用复选框状态列表来更新数据库,则最好创建一个集合来缓存每个复选框状态,并使用bulkInsert或事务来提交。