Estou com problemas para salvar e carregar os estados dos checkbox. Gostaria de saber como posso salvar os estados e depois carregar novamente. Tem algum método pra fazer isso?
`
private ArrayList<TaskList> listaTarefa = new ArrayList<TaskList>();
private TaskDAO dbta;
private ListAdapter listAdpt;
private String sql;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
updateUI();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_add_task) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Add a task");
builder.setMessage("What is your task?");
final EditText inputField = new EditText(this);
builder.setView(inputField);
builder.setPositiveButton("Add", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
String task = inputField.getText().toString();
dbta = new TaskDAO(MainActivity.this);
SQLiteDatabase db = dbta.getWritableDatabase();
ContentValues values = new ContentValues();
values.clear();
values.put(Database.Columns.TASK,task);
db.insertWithOnConflict(Database.TABLE,null,values,SQLiteDatabase.CONFLICT_IGNORE);
updateUI();
}
});
builder.setNegativeButton("Cancel",null);
builder.create().show();
return true;
}
return super.onOptionsItemSelected(item);
}
public void deleteTask(View view){
View v = (View) view.getParent();
TextView taskTextView = (TextView) v.findViewById(R.id.TextView);
String task = taskTextView.getText().toString();
sql = String.format("DELETE FROM %s WHERE %s = '%s'",
Database.TABLE, Database.Columns.TASK,task);
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Remove a task");
builder.setMessage("Want to remove '"+ task+"' ?" );
builder.setPositiveButton("Remove", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dbta = new TaskDAO(MainActivity.this);
SQLiteDatabase sqlDB = dbta.getWritableDatabase();
sqlDB.execSQL(sql);
updateUI();
}
});
builder.setNegativeButton("Cancel",null);
builder.create().show();
}
private void updateUI(){
dbta = new TaskDAO(MainActivity.this);
SQLiteDatabase sqlDB = dbta.getReadableDatabase();
Cursor cursor = sqlDB.query(Database.TABLE,
new String[]{Database.Columns.ID,Database.Columns.TASK, Database.Columns.DONE},
null, null, null, null, null);
listAdpt = new SimpleCursorAdapter(this, R.layout.new_task,
cursor, new String[]{Database.Columns.TASK, Database.Columns.DONE},
new int[]{R.id.TextView}, 0);
this.setListAdapter(listAdpt);
}
`
Se precisar depois eu coloco as outras classes.