private void updateBottomNavigation() { BottomNavigationView bottomNavigationView = findViewById(R.id.bottom_navigation_view); Menu menu = bottomNavigationView.getMenu(); MenuItem loginItem = menu.findItem(R.id.login); MenuItem profileItem = menu.findItem(R.id.profile);
// 如果用户已登录,则显示Profile项目; 否则仅显示登录项目
if (isUserLoggedIn()) {
loginItem.setVisible(false);
profileItem.setVisible(true);
} else {
loginItem.setVisible(true);
profileItem.setVisible(false);
}
}
FirebaseAuth.getInstance().addAuthStateListener(new FirebaseAuth.AuthStateListener() { @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { updateBottomNavigation(); } });
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); updateBottomNavigation(); }
private boolean isUserLoggedIn() { FirebaseAuth firebaseAuth = FirebaseAuth.getInstance(); FirebaseUser firebaseUser = firebaseAuth.getCurrentUser(); return firebaseUser != null; }
在上述示例中,我们使用Firebase Authentication来管理用户登录状态,但是您也可以使用其他认证方法。需要注意的是,以上代码中的视图(如R.id.bottom_navigation_view)需要与您的布局文件中的视图ID相匹配。