活动返回时不更新Firebase数据 - 底部导航视图

时间:2017-07-30 12:49:28

标签: android firebase android-cardview

我正在使用底部导航视图,在其中一个选项中,我们使用CardView显示Firebase数据。

但是,当我退出此活动,并使用设备后退按钮或活动箭头返回时,它不起作用。不显示任何内容。

可能出现什么问题?

打印: 之前: enter image description here

在: enter image description here

代码底部导航视图:

BottomNavigationView bottomNavigationView =(BottomNavigationView) findViewById(R.id.bottomNavView_Bar);
        BottomNavigationViewHelper.disableShiftMode(bottomNavigationView);
        Menu menu = bottomNavigationView.getMenu();
        MenuItem menuItem = menu.getItem(0);
        menuItem.setChecked(true);

        bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem item) {

                switch (item.getItemId()){

                    case R.id.ic_home:

                        break;

                    case R.id.ic_explore:

                        Intent intentExplore = new Intent(HomeActivity.this, ExploreActivity.class);
                        intentExplore.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                        startActivity(intentExplore);
                        break;

                    case R.id.ic_calendar:
                        Intent intentAgenda = new Intent(HomeActivity.this, AgendamentoActivity.class);
                        intentAgenda.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                        startActivity(intentAgenda);
                        break;

                    case R.id.ic_person:
                        Intent intentuser = new Intent(HomeActivity.this, OpcoesUsuarioActivity.class);
                        intentuser.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                        startActivity(intentuser);
                        break;

                }

                return false;
            }
        });

注意:在没有底部导航或使用SlidingTabs的活动中进行测试时,它可以正常工作。

1 个答案:

答案 0 :(得分:0)

你对BottomNavigationView Activities使用Fragment而非onPause检查this采用了错误的方法。当您点击任何项目时,如果您点击活动onResume表示活动仍然在堆栈但不可见,当您点击回来时,您刚刚完成当前活动并返回到最后一个活动时调用onCreate方法未调用RecyclerView,因此请将onResume工作放在finish()方法上,或在离开活动时致电first