我正在使用底部导航视图制作一个简单的应用程序,其中包含3个片段(布局和Java)。我在MainActivity.java中声明了BottonNavigationView。我的bottonnavigation有3个项目,对应3个片段。因此,在我的MainActivity.java中,当我选择一个项目时,它会启动一个片段。所以,当我再次选择另一个项目时,什么也不会发生,因为在java片段中,我需要声明BottonNavigationView,但我不知道如何设置它以切换实际片段与另一个片段。
我尝试了这个链接,但没有成功:https://developer.android.com/training/basics/fragments/fragment-ui.html 抱歉我的英语不好
下面是代码:
主活动
我尝试了这个链接,但没有成功:https://developer.android.com/training/basics/fragments/fragment-ui.html 抱歉我的英语不好
下面是代码:
主活动
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Fragment selectedFragment = null;
switch (item.getItemId()) {
case R.id.navigation_home:
selectedFragment = HomeFragment.newInstance();
break;
case R.id.navigation_dashboard:
selectedFragment = DashboardFragment.newInstance();
break;
case R.id.navigation_notifications:
selectedFragment = NotificationsFragment.newInstance();
break;
}
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(R.id.content, selectedFragment);
transaction.commit();
return true;
}
Java片段示例
public class HomeFragment extends Fragment {
public static HomeFragment newInstance() {
HomeFragment fragment = new HomeFragment();
return fragment;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.navigation_home, container, false);
return inflater.inflate(R.layout.navigation_home, container, false);
}
onBackPressed()
并实现所需的代码。 - Yupi