我最近在youtube上看了一些关于如何在我的超级简单的应用程序中添加底部导航的教程。我读到最后一部分,片断之间的转换发生了,他用Kotlin写的,我根本没有研究过。我怎么才能用Java写这个呢?我猜它有点类似,但我也是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()
}发布于 2020-07-13 04:05:44
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();
}https://stackoverflow.com/questions/62865178
复制相似问题