firebaseから値を取得しようとしています。ここでは、「出席」ノード内の値を取得できません。ここでFirebaseの照会、取得、およびアダプタへの渡し
私のモデルである:ここでは
public class MemberInGroup {
private String name;
private HashMap<String, HashMap<String, Object>> attendance;
private String group;
public MemberInGroup() {
}
public MemberInGroup(String name, HashMap<String, HashMap<String, Object>> attendance, String group) {
this.name = name;
this.attendance = attendance;
this.group = group;
}
public String getName() {
return name;
}
public String getGroup() {
return group;
}
public HashMap<String, HashMap<String, Object>> getAttendance() {
return attendance;
}
は、アダプタでpopulateView方法である:
@Override
protected void populateView(View view, MemberInGroup member, int i) {
final String name = member.getName();
final String group = member.getGroup();
// Create views and assign values
final TextView nameTxtView = (TextView) view.findViewById(R.id.nameTxtView);
nameTxtView.setText(name);
HashMap<String, HashMap<String, Object>> attendance = member.getAttendance();
if(attendance != null) {
HashMap<String, Object> todayAttendance = attendance.get(Utility.getTodayName());
if(todayAttendance != null) {
String date = (String) todayAttendance.get("date");
}
}
私は "名前" と "グループ" を取得することができますよ"出席"内の日ハッシュマップではありません。 Utility.getTodayNameは正しい曜日名を返しますが、 "date"はnullを返します。私は、特定のグループ内にあるすべてのメンバーを照会しようとしている
final DatabaseReference ref = database.getReference();
Query query = ref.child("members")
.orderByChild("group")
.equalTo("group7");
// Set the adapter with groupMembersRef
MembersOfGroupAdapter mOfGroupAdapter = new MembersOfGroupAdapter(getActivity(), MemberInGroup.class,
R.layout.list_item_member_in_sport, query);
sportMembersListView.setAdapter(mOfGroupAdapter);
:私は、データベースを照会し、アダプタを設定する方法をここで
です。どんな提案も感謝しています。
あなたは正しいので、日付はnullです。データベースをリモデリングすると、結果はどのようにアダプターに渡されますか? populateViewでは、モデルクラスを使用して出席者を取得するためです。 populateViewの内部で新しいクエリを作成することは可能ですか? – fullMoon
とget()の呼び出し方法は – fullMoon
です。私の答えにはさらに追加しましたが、populateViewメソッドで別のクエリを実行することは可能です。もちろん、ネストされたリスナーのコードではうまく見えません –