Как вы сказали при нажатии на addOnItemTouchListener
, вы хотите получить все события.
Вы можете использовать этот код. Немного изменил твой код.
Используя этот код, вы получите Все имена событий внутри Запись посещаемости,
recycle_menu.addOnItemTouchListener(
new RecyclerItemClickListener(getBaseContext(), recycle_menu ,new RecyclerItemClickListener.OnItemClickListener() {
@Override public void onItemClick(View view, int position) {
DatabaseReference mDatabaseReference;
mDatabaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
ArrayList<String> eventNames = new ArrayList<>();
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
eventNames.add(snapshot.getKey());
//Now you have all Event Names in List
// you can show them in a Custom Alert Dialog
//Or pass it to next Activity.
}
EventName = (TextView) findViewById(R.id.RegisterEventName);
if(dataSnapshot.child(EventName.getText().toString()).exists()){
Toast.makeText(StaffAttendanceRecordTable.this, "Got Result", Toast.LENGTH_SHORT).show();
Intent intent = new Intent(StaffAttendanceRecordTable.this, com.example.edward.neweventmanagementsystem.attendanceListMainList.class);
startActivity(intent);
}else{
Toast.makeText(StaffAttendanceRecordTable.this, "No Result", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
@Override public void onLongItemClick(final View view, int position) {
}
})
);
Допустим, вы отобразили эти коды в диалоговом окне «Активность / Предупреждение» и щелкнули пользователем по любому событию.
Вы можете получать все дни внутри этого события, используя приведенный ниже код.
databaseReference.child("clicked_item").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
ArrayList<String> eventDays = new ArrayList<>();
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
eventDays.add(snapshot.getKey());
//Now you have all days that exist inside Clicked Item (Google)
//Same as previous you can show them in Alert Dialog or New Activity,
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Последняя часть. Поскольку у вас есть все Дни, и вы отображали эти дни для пользователя, и пользователь нажал на любой день.
Теперь вы хотите получить checkInDate & checkInTime . Вы можете использовать приведенный ниже код для получения этих данных.
databaseReference.child("clciked_Day").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
String checkInDate = snapshot.child("checkInDate").getValue().toString();
String checkInTime = snapshot.child("checkInTime").getValue().toString();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
Надеюсь, это поможет вам !!