Я пишу программу в Android Studio (JAVA). Это менеджер карточных игр, который использует службы Firebase (база данных и аутентификация).
Когда я получаю данные из базы данных в реальном времени, действие, которое должно показать их, не делает этого, и программа возвращается к основному действию.
В журнале нет ошибок.
database = FirebaseDatabase.getInstance("https://gestionalebriscola-a8a93.firebaseio.com/");
myRef = database.getReference("Tornei");
myRef.keepSynced(true);
myRef.addValueEventListener(new DataSingleHandler(this));
listv_Tornei.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
showTorneoActivity(i);
}
});
////// Это вторая часть
private class DataSingleHandler implements ValueEventListener{
private Context context;
public DataSingleHandler(Context context){
this.context=context;
}
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
torneiSulServer=new ArrayList<>();
for(DataSnapshot snapshot : dataSnapshot.getChildren()){
Log.d("GET",snapshot.toString());
try{
Torneo torneo = snapshot.getValue(Torneo.class);
torneiSulServer.add(torneo);
} catch (Throwable e) {
Log.d("GET", "onCreate eror", e);
}
}
torneiSulServerAdapter = new ArrayAdapter<>(context,android.R.layout.simple_list_item_1,torneiSulServer);
listv_Tornei.setAdapter(torneiSulServerAdapter);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
{private void showTorneoActivity(int i)
{ Intent intent = new Intent(this,ShowActivity.class);
Bundle data = new Bundle();
data.putSerializable("TORNEO",
torneiSulServer.get(i));
intent.putExtra("TORNEO",data);
startActivity(intent); }}