OnBackPressed() 在活动中不起作用

问题描述

在我的项目中,仪表板活动中有三个片段(认选择为主页片段),带有底部导航栏。在第二个片段(连接片段)中,有一个回收器视图,当单击项目时,将打开一个活动。

问题是当我单击后退按钮(我已经实现了一个图像按钮返回)打开活动后,它转到主页片段,而不是具有回收器视图的连接片段。这是实现的代码.

backBtn.setonClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
               onKeyUp(int,KeyEvent);

            }
        });


    @Override
    public boolean onKeyUp(int keyCode,KeyEvent objEvent) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            onBackpressed();
            return true;
        }
        return super.onKeyUp(keyCode,objEvent);
    }

    @Override
    public void onBackpressed() {

        finish();
    }

谁能解释一下是什么问题。我想回到连接片段。我的底部导航栏代码如下,

private BottomNavigationView.OnNavigationItemSelectedListener selectedListener =
            new BottomNavigationView.OnNavigationItemSelectedListener() {
                @Override
                public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
                    switch (menuItem.getItemId()){
                        case R.id.navigation_discover:
                            discoverFragment fragment1=new discoverFragment();
                            FragmentTransaction ft1=getSupportFragmentManager().beginTransaction();
                            ft1.replace(R.id.content,fragment1,"");
                            ft1.commit();
                            return true;

                        case R.id.navigation_places:
                            PlacesFragment fragment2=new PlacesFragment();
                            FragmentTransaction ft2=getSupportFragmentManager().beginTransaction();
                            ft2.replace(R.id.content,fragment2,"");
                            ft2.commit();
                            return true;

                        case R.id.navigation_connections:
                            ConnectionFragment fragment3=new ConnectionFragment();
                            FragmentTransaction ft3=getSupportFragmentManager().beginTransaction();
                            ft3.replace(R.id.content,fragment3,"");
                            ft3.commit();
                            return true;
                        case R.id.navigation_profile:
                            ProfileFragment fragment4=new ProfileFragment();
                            FragmentTransaction ft4=getSupportFragmentManager().beginTransaction();
                            ft4.replace(R.id.content,fragment4,"");
                            ft4.commit();
                            return true;






                    }
                    return false;
                }
            };

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)