От Kotlin до Java, нижняя панель навигации - PullRequest
0 голосов
/ 12 июля 2020

В настоящее время я смотрю несколько руководств на YouTube о том, как добавить нижнюю навигацию в мое супер простое приложение. Я добрался до последней части, где происходит переход между фрагментами, и он написал это в Kotlin, и я это вообще не изучал. Как я мог написать это в Java? Я предполагаю, что это несколько похоже, но я тоже новичок sh в java, поэтому извините, если это звучит действительно глупо.

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()
        }

1 Ответ

0 голосов
/ 12 июля 2020

Java код

@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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...