Fixed the bottomNavigation refresh when a route is started

This commit is contained in:
Bart
2021-01-06 18:31:55 +01:00
parent f868302d30
commit 56a14c2482
4 changed files with 13 additions and 5 deletions

View File

@@ -113,10 +113,10 @@ public class MainActivity extends AppCompatActivity implements Refreshable {
* refreshes bottom navigation * refreshes bottom navigation
*/ */
@Override @Override
public void refresh() { public void refreshAndNavigateTo(int id) {
bottomNav.getMenu().clear(); bottomNav.getMenu().clear();
bottomNav.inflateMenu(R.menu.navmenu); bottomNav.inflateMenu(R.menu.navmenu);
bottomNav.setSelectedItemId(R.id.settings); bottomNav.setSelectedItemId(id);
} }
private View.OnClickListener onInfoClickListener = new View.OnClickListener() { private View.OnClickListener onInfoClickListener = new View.OnClickListener() {

View File

@@ -1,5 +1,5 @@
package com.a1.nextlocation.fragments; package com.a1.nextlocation.fragments;
public interface Refreshable { public interface Refreshable {
void refresh(); void refreshAndNavigateTo(int id);
} }

View File

@@ -29,7 +29,14 @@ public class RouteDetailFragment extends Fragment {
private Route route; private Route route;
private ImageView imageView; private ImageView imageView;
private Refreshable refreshable;
@Override
public void onAttach(Context context) {
super.onAttach(context);
if (context instanceof Refreshable)
this.refreshable = (Refreshable) context;
}
@Override @Override
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
@@ -79,7 +86,8 @@ public class RouteDetailFragment extends Fragment {
ApiHandler.INSTANCE.getDirections(route); ApiHandler.INSTANCE.getDirections(route);
RouteHandler.INSTANCE.followRoute(route); RouteHandler.INSTANCE.followRoute(route);
Toast.makeText(requireContext(),"Route started!",Toast.LENGTH_SHORT).show(); Toast.makeText(requireContext(),"Route started!",Toast.LENGTH_SHORT).show();
((FragmentActivity) view.getContext()).getSupportFragmentManager().beginTransaction().replace(R.id.fragment_layout, new HomeFragment()).addToBackStack(null).commit(); // navigates to the HomeFragment and refreshes the BottomNavigation
refreshable.refreshAndNavigateTo(R.id.locations);
} }
/** /**

View File

@@ -158,7 +158,7 @@ public class SettingsFragment extends Fragment {
fragmentTransaction.attach(currentFragment); fragmentTransaction.attach(currentFragment);
fragmentTransaction.commit(); fragmentTransaction.commit();
refreshable.refresh(); refreshable.refreshAndNavigateTo(R.id.settings);
} }
/** /**