遍历一组Android复选框Android

时间:2019-07-29 13:27:31

标签: java android android-checkbox

我有一组android复选框。在我的Java代码中,我创建了checkbox数组,然后使用for循环遍历该数组,在循环之后,我随后切换了每个复选框值的值,在每种情况下,我都想向sqlite数据库插入一些值。当我选择多个复选框时,仅将数组中的最后一个复选框值插入数据库:

  1. ArrayList<String> selectedSubjectsList = new ArrayList<String>();
    
  2. CheckBox[] subjectBoxes = {A, B}
    
  3. 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);
    
  4. 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:
    } 
    
  5. public void LoadQuestion_linkTodatabase(SQLiteDatabase db, ContentValues cv) {
        db.insert(table_name, null, cv);
    }
    
  6. 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();
            }
        });
    }
    

0 个答案:

没有答案
相关问题