当前位置: 首页 > 知识库问答 >
问题:

如何从底部导航栏移动到活动android

曾修真
2023-03-14

我将其添加到我的应用程序底部导航栏中,但现在的问题是,我想从底部导航栏中的一个按钮移动到活动必须分段才能查看的活动(TabLayout,ViewPager)。当我尝试将其设置为selectedFragment=newmainActivityoderlistfargmant()时;“显示我”这样的错误。。也是这样,也不管用。。startActivity(新意图(NafMain.this,MainActivityOderLIstFargmant.class));

我需要移动到其他活动来显示两个(TabLayout、ViewPager)。

此活动我想转到它。。

public class MainActivityOderLIstFargmant extends AppCompatActivity {
    TabLayout tabLayout;
    ViewPager viewPager;
    PageAdapterOrderList pageAdapterOrderList;
    TabItem tabChats;
    TabItem tabCalls;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mani_order_list);
        tabLayout = findViewById(R.id.tablayout);
        tabChats = findViewById(R.id.tabChats);
        tabCalls = findViewById(R.id.tabCalls);
        viewPager = findViewById(R.id.viewPager);

        pageAdapterOrderList = new PageAdapterOrderList(getSupportFragmentManager(), tabLayout.getTabCount());
        viewPager.setAdapter(pageAdapterOrderList);
        viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));

    }
}


从这里开始

public class NafMaintest extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_naf_main);
        BottomNavigationView bottomNav = findViewById(R.id.bottom_navigation);
            BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottom_navigation);
            bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
                @Override
                public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
                    Fragment selectedFragment = null;
                    switch (menuItem.getItemId()) {
                        case R.id.nav_home:
                           selectedFragment = new MainActivityOderLIstFargmant();//I try like that but not work 
                            break;
                        case R.id.nav_favorites:
                            selectedFragment = new FragmentHome();
                            break;
                        case R.id.nav_search:
                            selectedFragment = new FragmentProfile();
                            break;
                        case R.id.nav_s:
                            selectedFragment = new MainActivity();
                            break;
                    }
                    getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                            selectedFragment).commit();
                    return true;

                }
            });

        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
                    new FragmentHome()).commit();
        }
    }



}



如果有人知道解决方案对我有什么帮助

共有1个答案

梁勇
2023-03-14

您试图在开关中实例化MainActivityOderLIstFargmant活动,并将其放入名为selectedFragment的变量中,因此这两种类型都不同(Fragment

要使代码正常工作,可以按如下所示更改开关箱

case R.id.nav_home:
    Intent intent = new Intent(NafMaintest.this, MainActivityOderLIstFargmant.class);
    startActivity(intent);
    return true; // use return to avoid triggering the fragment transaction after the `swtich` block
 类似资料:
  • 我创建了一个带有“底部导航活动”的新项目: 这是生成的代码: 如何使用底部栏更改为新片段?例如,我有3个片段:Fragment1 Fragment2和Fragment3,我想用底部栏中的3个按钮更改为它们。我还想通过左右滑动手指来切换片段,我该怎么做?

  • 我正在使用自定义底部导航栏。因此,每当我关注编辑文本字段时,底部视图就会与键盘一起出现。 我已尝试更改清单中的和。它可以工作,但使用时滚动不起作用。 下面是java代码,这是底部导航的单击操作。它与其他三项相似。 }

  • Tabbar 底部导航栏 1.4.8 优点: 此组件一般用于应用的底部导航,具有如下特点: 可以设置凸起的按钮,且是全端通用的 图标可以使用字体图标(内置图标和扩展图标)或者图片 可以动态切换菜单的数量以及配置 切换菜单之前,可以进行回调鉴权 可以设置角标 有效防止组件区域高度塌陷,无需给父元素额外的内边距或者外边距来避开导航的区域 缺点: 虽然优点很多,但是如果用此组件模拟tabbar页面的话依

  • 我是相当新的android工作室,任何帮助将不胜感激。 我在MainActivity中通过编程设置了一个底部导航栏——用其他片段设置它的最佳方式是什么。我有三个片段,导航栏中的每个选项卡一个片段,其他片段可以在按下导航栏片段中的按钮时打开。我在哪里设置这些其他片段?在连接到导航栏的片段的同一活动中,或在不同活动中。 如何保存显示片段的当前状态,以便当我移动到不同的选项卡并返回时,它将处于与我离开时

  • BottomBar有4个目的地:ScreenA,ScreenB,ScreenC和ScreenD。 在ScreenA上按下按钮(不是底部栏项)时,我想使用参数转到ScreenB。 导航图 底部栏 到目前为止,单击ScreenA上的按钮会将我导航到ScreenB,但参数值始终为0,因为我永远不会传递在lambda中传递的参数。我使用的是compose_version='1.2.0-alpha04'和"

  • 我在MainActivity中使用了两个片段,一个是首选项片段,另一个(默认)是主片段。我想确保,若在导航栏中选择了相同的项目,则不会重新创建该片段。但是现在我有两个问题: 1。如果我尝试更改首选项中的主题,底部导航栏将停止工作。切换到preferences片段不会更改操作栏中的标题,但它应该会更改(在实施片段替换预防之前,我进行了测试,它起到了作用。下面是一些代码: