首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kotlin to Java,底部导航栏

Kotlin to Java,底部导航栏
EN

Stack Overflow用户
提问于 2020-07-13 02:45:26
回答 1查看 46关注 0票数 0

我最近在youtube上看了一些关于如何在我的超级简单的应用程序中添加底部导航的教程。我读到最后一部分,片断之间的转换发生了,他用Kotlin写的,我根本没有研究过。我怎么才能用Java写这个呢?我猜它有点类似,但我也是java的新手,所以如果这听起来真的很愚蠢,我很抱歉。

代码语言:javascript
复制
override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val fragment_weekly = FirstFragment()
        val fragment_biweekly = SecondFragment()
        val fragment_monthly = ThirdFragment()

        setCurrentFragment(fragment_weekly)

        bottomNavigationView.setOnNavigationItemSelectedListener {
            when(it.itemID) {
                R.id.weekly -> setCurrentFragment(fragment_weekly)
                R.id.biweekly -> setCurrentFragment(fragment_biweekly)
                R.id.monthly -> setCurrentFragment(fragment_monthly)
            }
            true
        }


}

    private fun setCurrentFragment(fragment: Fragment) =
        supportFragmentManager.beginTransaction().apply {
            replace(R.id.flFragment, fragment)
            commit()
        }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-13 04:05:44

Java代码

代码语言:javascript
复制
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final Fragment fragment_weekly = new FirstFragment();
    final Fragment fragment_biweekly = new SecondFragment();
    final Fragment fragment_monthly = new ThirdFragment();

    setCurrentFragment(fragment_weekly);

    bottomNavigationView.setOnNavigationItemSelectedListener(
            new BottomNavigationView.OnNavigationItemSelectedListener() {
                @Override
                public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
                    switch (menuItem.getItemId()) {
                        case R.id.weekly: {
                            setCurrentFragment(fragment_weekly);
                            break;
                        }
                        case R.id.biweekly: {
                            setCurrentFragment(fragment_biweekly);
                            break;
                        }
                        case R.id.monthly: {
                            setCurrentFragment(fragment_monthly);
                            break;
                        }
                    }
                    return true;
                }
            });
}

private void setCurrentFragment(Fragment fragment) {
    getSupportFragmentManager()
            .beginTransaction()
            .replace(R.id.flFragment, fragment)
            .commit();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62865178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档