Код неясен, а также отсутствует некоторая строка кода. Как будто я не вижу начала макета ящика.
Также вы не объявили Layer Layout и NavigationView в вашем файле MainActivity.java, так как вы не предоставили четко код. Поэтому я предоставил вам основные файлы, необходимые для реализации навигационной панели. Просто скопируйте вставить как есть (ожидайте имя пакета: p).
MainActivity.java (я назвал его navBar.java)
public class navBar extends AppCompatActivity {
private DrawerLayout drawerLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_nav_bar);
drawerLayout = findViewById(R.id.drawer_layout_tab_bar);
NavigationView navigationView = findViewById(R.id.navigation_view_tab_bar_activity);
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
// set item as selected to persist highlight
menuItem.setChecked(true);
// close drawer when item is tapped
drawerLayout.closeDrawers();
// Add code here to update the UI based on the item selected
// For example, swap UI fragments here
return true;
}
});
}
}
activity_main.xml (я назвал его activity_nav_bar)
public class navBar extends AppCompatActivity {
private DrawerLayout drawerLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_nav_bar);
drawerLayout = findViewById(R.id.drawer_layout_tab_bar);
NavigationView navigationView = findViewById(R.id.navigation_view_tab_bar_activity);
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
// set item as selected to persist highlight
menuItem.setChecked(true);
// close drawer when item is tapped
drawerLayout.closeDrawers();
// Add code here to update the UI based on the item selected
// For example, swap UI fragments here
return true;
}
});
}
}
Добавьте их в файл gradle вашего приложения (если его нет)
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'
Используйте это как файл меню для отображения содержимого на панели навигации.
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_profile"
android:icon="@drawable/ic_baseline_account_circle_24px"
android:title="@string/profile" />
<item
android:id="@+id/nav_templates"
android:icon="@drawable/ic_baseline_create_24px"
android:title="@string/temp" />
<item
android:id="@+id/nav_logout"
android:icon="@drawable/ic_baseline_exit_to_app_24px"
android:title="@string/log_out" />
</group>
</menu>
Надеюсь, это поможет.