Когда приложение запущено, я показываю Snackbar
, если в моих TabLayout
Фрагментах нет подключения к Интернету. Я добавил действие «Повторить» в Snackbar для проверки наличия Интернета. Если нажата «Повтор», и подключение к Интернету становится доступным, «Снэк-бар» отклоняетсяно если подключение к интернету доступно, и я переключаю вкладки, снэк-бар не закрывается.Снова мне нужно нажать кнопку «Повторить действие», а затем «Снэк-бар» закрывается. Как решить эту проблему?
Это код для checkInternet
public void checkInternet(){
String NetworkStatus = biz.fyra.bookapp.utils.NetworkStatus.checkConnection(getContext());
if (NetworkStatus.equals("false")) {
snackbar=Snackbar.make(recyclerView,"You are Offline.",
Snackbar.LENGTH_INDEFINITE).setAction("Retry", new View.OnClickListener() {
@Override
public void onClick(View v) {
checkInternet();
}
});
snackbar.show();
}else{
getData();
}
}
Это код для отображения моих TabLayout
Фрагментов
public class ChooseTab extends Fragment {
// Tab Layout and ViewPager
TabLayout tabLayout;
ViewPager viewPager;
public ChooseTab() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v = inflater.inflate(R.layout.choose_tab, container, false);
int position=getArguments().getInt("TARGET_FRAGMENT_ID");
tabLayout = (TabLayout) v.findViewById(R.id.simpleTabLayout);
tabLayout.addTab(tabLayout.newTab().setText("QUEUE"));
tabLayout.addTab(tabLayout.newTab().setText("TABLES"));
tabLayout.addTab(tabLayout.newTab().setText("Reservation"));
viewPager = (ViewPager) v.findViewById(R.id.simpleViewPager);
viewPager.setOffscreenPageLimit(3);
final PagerAdapter adapter = new PagerAdapter(getActivity().getSupportFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(adapter);
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
viewPager.setCurrentItem(position);
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
adapter.notifyDataSetChanged();
}
});
return v;
}
}
Как отключить Snackbar, если вкладка изменена, а Интернет уже доступен?