我有一组android复选框。在我的Java代码中,我创建了checkbox
数组,然后使用for循环遍历该数组,在循环之后,我随后切换了每个复选框值的值,在每种情况下,我都想向sqlite数据库插入一些值。当我选择多个复选框时,仅将数组中的最后一个复选框值插入数据库:
ArrayList<String> selectedSubjectsList = new ArrayList<String>();
CheckBox[] subjectBoxes = {A, B}
for (CheckBox cb : subjectBoxes) {
if (cb.isChecked()) {
selectedSubjectsList.add((String) cb.getText());
}
}
Object[] subObj = selectedSubjectsList.toArray();
String[] selectedSubjectsListArray = Arrays.copyOf(subObj,
subObj.length, String[].class);
for (String s : selectedSubjectsListArray) {
switch (s) {
case "A_valu":
String table_name = "A_table";
swich_Subject("path_downloding_A","Chemistry");
break;
case "B_value":
String table_name = "B_table";
swich_Subject("path_downloding_B", "Physics");
break;
defult:
}
public void LoadQuestion_linkTodatabase(SQLiteDatabase db, ContentValues cv) {
db.insert(table_name, null, cv);
}
public void swich_Subject(final String pathFrom, final String DownlodOk) {
final FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference(pathFrom);
myRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
SQLiteDatabase db = con.getWritableDatabase();
db.delete(table_name, "1", null);
//String topic="";
for (DataSnapshot dsp : dataSnapshot.getChildren()) {
String topic = dsp.getKey();
for (DataSnapshot dspinner : dsp.getChildren()) {
String A, B = "";
A =dspinner.child("A").getValue().toString();
B = dspinner.child("B").getValue().toString();
//Block of code that will insert data into my local database storage
ContentValues InsertUsersInfo = new ContentValues();
InsertUsersInfo.put("topics_A", A);
InsertUsersInfo.put("question_B", B);
LoadQuestion_linkTodatabase(mydb, InsertUsersInfo);
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Toast.makeText(ctx, databaseError.getMessage(),
Toast.LENGTH_SHORT).show();
}
});
}