-2

Hallo, ich bin kein Experte in Android-Entwicklung. Ich versuche, eine Anwendung mithilfe der Navigationsschubladenvorlage von Android Studio zu entwickeln. Also habe ich ein neues Projekt mit dieser Vorlage erstellt. Aber wenn ich das Programm mit einem Klick auf einen Menüpunkt starte, ändert sich die Ansicht nicht. Also habe ich überall im Internet gesucht, ich habe nicht gesehen, wie ich damit umgehen kann. Dies ist der von Studio bereitgestellten CodeAndroid Studio Navigation Schublade mit Fragment

public boolean onNavigationItemSelected(MenuItem item) { 
// Handle navigation view item clicks here. 

int id = item.getItemId(); 

if (id == R.id.nav_camara) { 


} 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) { 

} 

DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
drawer.closeDrawer(GravityCompat.START); 
return true; 

}

Was will ich erreichen, ist die aktuelle Ansicht mit der entsprechenden Ansicht zu ersetzen, die Menüs cliked wird.

+0

Ihre Frage darauf, wie ein Fragment nennen, die keine Verbindung hat mit Navigationsschublade (nur Sie erhalten die ID eines Schubladenelements) , in Ihrer if else-Bedingung .. machen Sie eine Fragmenttransaktion..und fügen Sie ein neues Fragment an Ihren Rahmen an .. suchen Sie, wie man das macht! –

+0

weil ich gesucht wurde, und versuchen Sie die Anweisung, immer noch nichts passieren ... so poste ich meine Frage hier – Sasya

Antwort

1

Gallery.Java erstellen und diesen Code einfügen:

public class Gallery extends Fragment { 

    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.activity_gallery,null); 
    } 


} 

Und in der Datei Navigationsleiste diesen Code einfügen:

if (id == R.id.nav_gallery) 
     { 
      Fragment fragment = new Gallery(); 
      FragmentManager fragmentManager = getFragmentManager(); 
      fragmentManager.beginTransaction().replace(R.id.framelayout, fragment).commit(); 
     } 
+0

danke für die Beantwortung meiner Frage – Sasya

Verwandte Themen