gpt4 book ai didi

android - 在新 NavigationView 中单击菜单项时显示 fragment

转载 作者:行者123 更新时间:2023-11-30 01:43:52 25 4
gpt4 key购买 nike

我是使用 Android Studio 创建应用程序的初学者,当我点击导航菜单项时,我想显示不同的 fragment 。我搜索了教程,但没有找到如何使用它。

例如,在模板中,当我点击相机时,它应该显示一个相机 fragment ,画廊将显示一个画廊 fragment ,等等:

public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();

if (id == R.id.nav_camara) {
// Handle the camera action
// How do I display fragment?
} else if (id == R.id.nav_gallery) {

} else if (id == R.id.nav_slideshow) {

} else if (id == R.id.nav_manage) {

} else if (id == R.id.nav_share) {

} else if (id == R.id.nav_send) {

}

最佳答案

您的 Activity 应该包含一个 FrameLayout。在 onNavigationItemSelected() 中,您为相机、画廊等创建了 Fragment。然后将此 fragment 放入 FrameLayout

public boolean onNavigationItemSelected(MenuItem item) {
Fragment newFragment; // This is the fragment you want to put into the FrameLayout

int id = item.getItemId();
if (id == R.id.nav_camara) {
newFragment = new CameraFragment();
} else if (id == R.id.nav_gallery) {
newFragment = new GalleryFragment();
} else if (id == R.id.nav_slideshow) {
// [...]
}

// Let's put the new fragment into the FrameLayout
// If you use the support action bar, use getSupportFragmentManager(), else getFragmentManager()
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, newFragment); // R.id.fragment_container = FrameLayout ID
transaction.commit();
}

这有帮助吗?

关于android - 在新 NavigationView 中单击菜单项时显示 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34004150/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com