2021年4月3日星期六

error al combinar button navigation con tablayout [closed]

estoy realizando una app la cual tiene un button navigation con tres fragments y dentro de uno de estos fragments hay un tablayout con otros tres fragments, cuando ingreso a la app y entro al fragment del button navigation que contiene el tablayout todo funciona correctamente pero si luego me dirijo a otro fragment del button navigation y despues regreso al fragment donde esta el tablayout el tablayout funciona mal ya que no me muestra los fragments que lo componen.

alguien sabe como puedo corregir esto

gracias

button navigation

public class menu_principal extends AppCompatActivity {        BottomNavigationView BottomNavigation;        @Override      protected void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          setContentView(R.layout.activity_menu_principal);            BottomNavigation = findViewById(R.id.bottomnavigation);            BottomNavigation.setOnNavigationItemSelectedListener(navListener);          getSupportFragmentManager().beginTransaction().replace(                  R.id.fragment,                  new home_Fragment()).commit();        }        private BottomNavigationView.OnNavigationItemSelectedListener navListener =              new BottomNavigationView.OnNavigationItemSelectedListener() {                  @Override                  public boolean onNavigationItemSelected(@NonNull MenuItem item) {                      Fragment selectedFragment = null;                        switch (item.getItemId()) {                          case R.id.home:                              selectedFragment = new home_Fragment();                              break;                          case R.id.agregar:                              selectedFragment = new agregar_Fragment();                              break;                          case R.id.perfil:                              selectedFragment = new perfil_Fragment();                              break;                      }                        getSupportFragmentManager().beginTransaction().replace(                              R.id.fragment, selectedFragment).commit();                        return true;                  }              };      }  

adapter del tablayout

public class tablayout extends FragmentPagerAdapter {        int numoftabs;        public tablayout(@NonNull FragmentManager fm, int behavior) {          super(fm, behavior);          this.numoftabs = behavior;      }        @NonNull      @Override      public Fragment getItem(int position) {            switch (position){                case 0:                  return new misgrupos_Fragment();              case 1:                  return new grupos_Fragment();              case 2:                  return new pagos_Fragment();              default:                  return null;          }      }        @Override      public int getCount() {          return numoftabs;      }  }  

tablayout

public class perfil_Fragment extends Fragment {        TabLayout tablayout;      ViewPager viewpage;      tablayout pagerAdapter;        @Override      public View onCreateView(LayoutInflater inflater, ViewGroup container,                               Bundle savedInstanceState) {          View vista = inflater.inflate(R.layout.fragment_perfil_, container, false);              tablayout = vista.findViewById(R.id.tablayout);          viewpage = vista.findViewById(R.id.viewpage);              pagerAdapter = new tablayout(getActivity().getSupportFragmentManager(),tablayout.getTabCount());          viewpage.setAdapter(pagerAdapter);            tablayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {              @Override              public void onTabSelected(TabLayout.Tab tab) {                  viewpage.setCurrentItem(tab.getPosition());                    if (tab.getPosition()==0){                      pagerAdapter.notifyDataSetChanged();                  }if (tab.getPosition()==1){                      pagerAdapter.notifyDataSetChanged();                  }if (tab.getPosition()==2){                      pagerAdapter.notifyDataSetChanged();                  }              }                @Override              public void onTabUnselected(TabLayout.Tab tab) {                }                @Override              public void onTabReselected(TabLayout.Tab tab) {                }          });            viewpage.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tablayout));              return vista;      }   
https://stackoverflow.com/questions/66927339/error-al-combinar-button-navigation-con-tablayout April 03, 2021 at 11:02AM

没有评论:

发表评论