1

我正在编写一个代码,在其中我正在Checkboxes使用它们ActionListener从一个non-Activity类中创建动态。

现在我想从CompoundButton.OnCheckedChangeListener().

每个checkbox代表一个警报。在Database每个警报中都设置了column指定警报是启用还是禁用,我需要访问数据库来执行此操作。我正在编写以下代码:

public class DataBaseAdapter extends SQLiteOpenHelper 
{
    ....
    .... //onCreate, onUpdate, other methods used.
    ....
public TableLayout getAllAlarmList(Context con)
{
    SQLiteDatabase db = this.getReadableDatabase();
    for(int i=0;i<maxCount;i++) //maxCount number of rows in database
    {
        check[i]= new CheckBox(con);
        check[i].setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
        {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
            {
                if(isChecked)
                {

                }
                else
                {

                }
            }
        });
    }

}

现在我需要在此处添加代码,以便添加数据库访问代码。怎么做。?

4

1 回答 1

0

我不能做到这一点。由于 Android 的限制,Android 是 UI 安全的。因此,除了在用户界面中进行更改之外,它不允许任何线程或类。 Activity Class

所以我做的最好的事情就是收集所有的警报(数据),Array然后将数组从类发送回调用方法,Activity并在那里列出这个列表。

于 2013-05-14T12:33:51.427 回答