2016-03-19 4 views
0

Я хочу заполнить запасной счетчик, основанный на выборе первого счетчика. как вы можете видеть в моей firebase Json, элементы, установленные под каждой тренировкой, которые имеют значения true или false. Если элемент равен true при тренировке, я хочу показать это имя элемента во втором spinner.Example, если пользователь выбирает Heavy Chest и Arms в первом прядильщике, тогда как Bench Press, так и Incline Dumbbell Press должны заполнить второй счетчик. Я получаю некоторый ответ с моим текущим кодом, но сейчас не получаю значение ключей.Заполняющий счетчик от данных пожарной базы

Json файл:

{ 
    "elements" : { 
    "element_id_0" : { 
     "description" : "While laying flat on your back, arms at 90 degrees etc", 
     "name" : "Bench press" 
    }, 
    "element_id_1" : { 
     "description" : "Incline the backboard 30 degrees and etc etc", 
     "name" : "Incline Dumbbell Press" 
    } 
    }, 
    "workouts" : { 
    "workout_id_0" : { 
     "category" : "Heavy Chest and Arms", 
     "elements" : { 
     "element_id_0" : "true", 
     "element_id_1" : "true" 
     } 
    }, 
    "workout_id_1" : { 
     "category" : "Light Back and Shoulders", 
     "elements" : { 
     "element_id_0" : "true" 
     } 
    } 
    } 
} 

Некоторые из моего кода:

FirebaseSpinnerRef.addListenerForSingleValueEvent(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) { 
      String category=postSnapshot.child("category").getValue().toString(); 
      if(category.equals(sp1)) { 
       Object j =postSnapshot.child("elements").getValue(); 
      } 
     } 
    } 

    @Override 
    public void onCancelled(FirebaseError firebaseError) { 

    } 
}); 

ответ

1

Вместо

Object j =postSnapshot.child("elements").getValue(); 

Использование

Elements_post = postSnapshot.child("elements").getValue(Elements_.class); 

Вы можете получить значение, вызвав Getters в классе ниже

public class Elements_ { 
private ElementId0 elementId0; 
private ElementId1 elementId1; 
    public Elements_(){ 
// must have empty construct to bind the data 
} 

/** 
* 
* @return 
* The elementId0 
*/ 
public ElementId0 getElementId0() { 
return elementId0; 
} 



/** 
* 
* @return 
* The elementId1 
*/ 
public ElementId1 getElementId1() { 
return elementId1; 
} 

public class ElementId0 { 

private String description; 
private String name; 

/** 
* 
* @return 
* The description 
*/ 
public String getDescription() { 
return description; 
} 


/** 
* 
* @return 
* The name 
*/ 
public String getName() { 
return name; 
} 
} 

public class ElementId1 { 

private String description; 
private String name; 

/** 
* 
* @return 
* The description 
*/ 
public String getDescription() { 
return description; 
} 



/** 
* 
* @return 
* The name 
*/ 
public String getName() { 
return name; 
} 


} 

} 

взгляни Get data from firebase

+0

считают, что это хорошее начало, но я хочу, чтобы проверить, что этот элемент является истинным при тренировках и если я хочу чтобы получить i из элементов. –

Смежные вопросы