android - 如何获取复选框的状态以便我可以更新我的数据库?#android

标签 android sqlite

我在我的布局中创建了几个复选框,我必须根据复选框的状态更新数据库....我该怎么做?下面是代码 DynamicActivity.java

   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();
        }


                  }

我想知道在更新方法中检索所有复选框状态的最佳方法是什么???

最佳答案

您可以在点击保存按钮时检索状态

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
        }
    }
 });

关于android - 如何获取复选框的状态以便我可以更新我的数据库?#android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9748578/

相关文章:

Android: radio 组的自定义布局

java - SQLite 扩展 SQLiteOpenHelper 的奇怪错误

python - django.db.utils.IntegrityError : NOT NULL constraint failed: products_product. 图像错误与图像字段

android - Activity 的 onPause 和 onResume 启动后无缘无故被调用

javascript - 尝试取消注册广播接收器时出现非法参数异常

android - 在同时做两件事的两个部分上切割手机屏幕

android - 使用 else 和 if android sqlite 构建逻辑条件查询

java - 如何停止连续扫描二维码?

ios - 如果 (sqlite3_step(statement) == SQLITE_DONE) 总是失败

iPhone SQLite日期问题