Имам чекмедже за навигация в приложението си с различни дейности. Всичко върви добре, но имам голям проблем. Когато искам да променя активността в чекмеджето за навигация, елементът не е маркиран или е маркиран грешно. Например, искам да отида в дейност Б, когато отворя чекмеджето за навигация, не е избрано или е избран друг елемент. Ето някои кодове: елементи:
`
<item
android:id="@+id/nav_home"
android:icon="@drawable/ic_home"
android:title="@string/Button_home"/>
<group android:checkableBehavior="single"
android:id="@+id/anonimous_group">
<item
android:id="@+id/nav_registrati"
android:icon="@mipmap/ic_create_black_24dp"
android:title="@string/registrati"/>
<item
android:id="@+id/nav_login"
android:icon="@mipmap/ic_filter_tilt_shift_black_24dp"
android:title="@string/accedi"/>
</group>
<group android:checkableBehavior="single"
android:id="@+id/logged_group"
>
<item
android:id="@+id/nav_profilo"
android:icon="@drawable/id_profile"
android:title="@string/Profilo"/>
<item
android:id="@+id/nav_notifiche"
android:icon="@drawable/ic_notifications"
android:title="@string/Notifiche"/>
<item
android:id="@+id/nav_mie_recensioni"
android:icon="@drawable/ic_review"
android:title="@string/mie_recensioni"/>
<item
android:id="@+id/nav_persone_seguo"
android:icon="@drawable/ic_person"
android:title="@string/persone_seguo"/>
<item
android:id="@+id/nav_oggetti_seguo"
android:icon="@drawable/ic_favorite"
android:title="@string/oggetti_seguo"/>
<item
android:id="@+id/nav_inserisci_recensione"
android:icon="@drawable/ic_review"
android:title="@string/inserisci_recensione"/>
<item
android:id="@+id/nav_settings"
android:icon="@drawable/ic_build"
android:title="@string/action_settings"/>
<item
android:id="@+id/nav_esci"
android:icon="@mipmap/ic_exit_to_app_black_24dp"
android:title="@string/exit"/>
</group>
<item
android:id="@+id/nav_Assistenza"
android:icon="@drawable/ic_help"
android:title="@string/Assistenza"/>
И суперактивност:
@Override
public boolean onNavigationItemSelected(MenuItem item) {
Log.i("Successo","SOno entrato"+item.getItemId());
// now set clicked menu item to checked
Intent intent;
switch(item.getItemId()) {
case R.id.nav_home:
intent = new Intent(ctx, A10_HomePage.class);
break;
case R.id.nav_registrati:
intent = new Intent(ctx, A1_LoginIniziale.class);
editor.putString("previous", "REG").apply();
break;
case R.id.nav_login:
intent = new Intent(ctx, A1_LoginIniziale.class);
editor.putString("previous", "LOGIN").apply();
break;
case R.id.nav_notifiche:
intent = new Intent(ctx, A14_Notifiche.class);
break;
case R.id.nav_mie_recensioni:
intent = new Intent(ctx, A23_MieRecensioni.class);
break;
case R.id.nav_oggetti_seguo:
intent = new Intent(ctx, A22_OggettiSeguiti.class);
break;
case R.id.nav_persone_seguo:
intent = new Intent(ctx, A19_PersoneSeguite.class);
break;
case R.id.nav_inserisci_recensione:
intent = new Intent(ctx, A15_InserisciRecensione.class);
break;
case R.id.nav_settings:
intent = new Intent(ctx, A6_Impostazioni.class);
break;
case R.id.nav_Assistenza:
intent = new Intent(ctx, A35_Assistenza.class);
break;
case R.id.nav_esci:
removeUser();
intent = new Intent(ctx, A1_LoginIniziale.class);
break;
case R.id.nav_profilo:
intent = new Intent(ctx, A7_ProfiloPrivato.class);
break;
default:
intent = new Intent(ctx, A10_HomePage.class);
break;
}
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
drawer.closeDrawer(GravityCompat.START);
return true;
}
Оформление:
<android.support.design.widget.NavigationView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
app:itemIconTint="@color/drawer_item_text"
app:itemTextColor="@color/drawer_item_text"
app:headerLayout="@layout/nav_header"/>