From 012815d9694ce1cdcac05d80bc268bdf50a5692e Mon Sep 17 00:00:00 2001 From: 230421 <230421@epvc.pt> Date: Tue, 17 Mar 2026 16:52:14 +0000 Subject: [PATCH] resolucao de erros --- .../vdcscore/ui/home/HomeFragment.java | 44 ++++++++++--------- .../vdcscore/ui/home/StandingsAdapter.java | 7 ++- app/src/main/res/layout/fragment_home.xml | 36 +++++++-------- app/src/main/res/layout/item_standing.xml | 19 ++++---- 4 files changed, 57 insertions(+), 49 deletions(-) diff --git a/app/src/main/java/com/example/vdcscore/ui/home/HomeFragment.java b/app/src/main/java/com/example/vdcscore/ui/home/HomeFragment.java index 563130b..beb99a0 100644 --- a/app/src/main/java/com/example/vdcscore/ui/home/HomeFragment.java +++ b/app/src/main/java/com/example/vdcscore/ui/home/HomeFragment.java @@ -61,45 +61,49 @@ public class HomeFragment extends Fragment { } private void fetchStandings() { - mDatabase = FirebaseDatabase.getInstance().getReference("classificacoes").child(currentEscalao); - - // Remove previous listener to avoid duplicate data or leaks - if (mValueEventListener != null) { + // Remove previous listener from previous database path + if (mDatabase != null && mValueEventListener != null) { mDatabase.removeEventListener(mValueEventListener); } + mDatabase = FirebaseDatabase.getInstance().getReference("classificacoes").child(currentEscalao); + mValueEventListener = new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot snapshot) { + if (binding == null) return; + List teams = new ArrayList<>(); for (DataSnapshot postSnapshot : snapshot.getChildren()) { - Team team = postSnapshot.getValue(Team.class); - if (team != null) { - // If ID is missing, set it from the key (although team_id comes from json usually) - if (team.getTeam_id() == null) { - team.setTeam_id(postSnapshot.getKey()); + try { + Team team = postSnapshot.getValue(Team.class); + if (team != null) { + if (team.getTeam_id() == null) { + team.setTeam_id(postSnapshot.getKey()); + } + teams.add(team); } - teams.add(team); + } catch (Exception e) { + e.printStackTrace(); } } - // Sort properly (JSON might already be sorted by "posicao", but we sort by points and GD just in case) - Collections.sort(teams, new Comparator() { - @Override - public int compare(Team t1, Team t2) { - if (t1.getPontos() != t2.getPontos()) { - return t2.getPontos() - t1.getPontos(); // Descending points - } - return t2.getDiferenca_golos() - t1.getDiferenca_golos(); // Descending GD + // Sort properly + Collections.sort(teams, (t1, t2) -> { + if (t1.getPontos() != t2.getPontos()) { + return t2.getPontos() - t1.getPontos(); } + return t2.getDiferenca_golos() - t1.getDiferenca_golos(); }); - adapter.setTeams(teams); + if (adapter != null) { + adapter.setTeams(teams); + } } @Override public void onCancelled(@NonNull DatabaseError error) { - if (getContext() != null) { + if (getContext() != null && binding != null) { Toast.makeText(getContext(), "Erro ao carregar classificação: " + error.getMessage(), Toast.LENGTH_SHORT).show(); } diff --git a/app/src/main/java/com/example/vdcscore/ui/home/StandingsAdapter.java b/app/src/main/java/com/example/vdcscore/ui/home/StandingsAdapter.java index 4075ae1..e7c8bab 100644 --- a/app/src/main/java/com/example/vdcscore/ui/home/StandingsAdapter.java +++ b/app/src/main/java/com/example/vdcscore/ui/home/StandingsAdapter.java @@ -39,6 +39,7 @@ public class StandingsAdapter extends RecyclerView.Adapter @@ -56,10 +56,10 @@ android:layout_width="28dp" android:layout_height="wrap_content" android:gravity="center" - android:text="POS" + android:text="#" android:textColor="@color/white" - android:textSize="10sp" - android:textStyle="normal" /> + android:textSize="11sp" + android:textStyle="bold" /> + android:textSize="11sp" + android:textStyle="bold" /> + android:textSize="11sp" + android:textStyle="bold" /> + android:textSize="11sp" + android:textStyle="bold" /> + android:textSize="11sp" + android:textStyle="bold" /> + android:textSize="11sp" + android:textStyle="bold" /> + android:textSize="11sp" + android:textStyle="bold" /> + android:textSize="11sp" + android:textStyle="bold" /> @@ -20,7 +20,7 @@ android:gravity="center" android:text="1" android:textColor="@color/white" - android:textSize="12sp" + android:textSize="11sp" android:textStyle="bold" android:background="@drawable/bg_circle_green" /> @@ -29,6 +29,7 @@ android:layout_width="24dp" android:layout_height="24dp" android:layout_marginHorizontal="2dp" + android:scaleType="centerInside" android:src="@mipmap/ic_launcher" />