2016-06-09 15 views
-1

So habe ich eine Navigation Drawer Activity mit Android Studio 2.1.2 erstellt, indem Sie Datei-> Neu -> Projekt -> Navigation Schublade Aktivität. Ich habe 4 Layout-Dateien alsZugriff auf TextView von MainActivity

  1. nav_header_main.xml
  2. content_main.xml
  3. app_bar_main.xml
  4. activity_main.xml

content.main.xml hat eine TextView mit der ID helloTextView (Ich habe es manuell eingestellt). Auf der MainActivity behandelt eine Methode das Navigationselementauswahlereignis. Jetzt ist es mein Ziel, den Text der Textansicht von content.main.xml zu ändern und den Text auf den Inhalt der Benutzerauswahl einzustellen. Bitte beachten Sie den Kommentar zum folgenden Codeblock:

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

     if (id == R.id.nav_camera) { 
      // Handle the camera action 
      // I want to change the content of helloTextView here 
      // I.E setText("You Selected Camera!") 
     } 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; 
    } 

Wie kann ich das einrichten?

+2

'((TextView) findViewById (R.id.helloTextview)). SetText (" Sie ausgewählte Kamera! ")'? – sonictt1

+1

Was genau scheint hier das Problem zu sein? Mach einfach den normalen Weg^ – Vucko

+0

@ sonictt1 funktioniert! Ich bin ein Neuling. Bitte posten Sie es als Antwort. Vielen Dank – envyM6

Antwort

1

((TextView) findViewById(R.id.helloTextView)).setText("You Selected Camera!"); sollte funktionieren.

Normalerweise würden Sie eine Variable wie erklären: TextView myTextView; als klassenweite Variable und dann in Ihrem onCreate() oder onCreateView() Sie würden sagen:

myTextView = (TextView) findViewById(R.id.helloTextView); (ähnlich dem, was Sie getan haben mit DrawerLayout)

Dann konnte man nur sagen:

myTextView.setText("You Selected Camera!");

Dann anderswo in Ihrem Activity Sie könnte einfach verwenden anstatt findViewById() jedes Mal zu verwenden.

Für jetzt jedoch wird die Codezeile ganz oben in dieser Antwort für Sie arbeiten. :)

Verwandte Themen