2

Ich habe MainActivity mit Navigation Drawer mit fünf verschiedenen Aktivitäten erstellt. Wenn ich auf eine Aktivität klicke, öffnet sich das zugehörige Aktivitätslayout. Nach dem Zurückdrücken der Taste geht es zu MainActivity.Das ausgewählte Navigationselement ist in NavigationView nicht sichtbar.

Problem ist, dass der Name der gewählten Aktivität/des Artikels invisible in Navigation Drawer ist, aber onClick funktioniert. Bitte hilf mir.
Hier ist mein Code

package com.cabbi; 

import android.content.Intent; 
import android.os.Bundle; 
import android.support.design.widget.NavigationView; 
import android.support.design.widget.TabLayout; 
import android.support.v4.app.FragmentTransaction; 
import android.support.v4.app.NavUtils; 
import android.support.v4.view.GravityCompat; 
import android.support.v4.view.ViewPager; 
import android.support.v4.widget.DrawerLayout; 
import android.support.v7.app.ActionBarDrawerToggle; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.Menu; 
import android.view.MenuItem; 

public class MainActivity extends AppCompatActivity 
     implements NavigationView.OnNavigationItemSelectedListener { 
    FragmentTransaction fragmentTransaction; 
    TabLayout tabLayout; 
    ViewPager viewPager; 
    TabsAdapter tabsAdapter; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
     tabLayout= (TabLayout) findViewById(R.id.tab_layout); 
     viewPager= (ViewPager) findViewById(R.id.view_pager); 
     tabLayout.addTab(tabLayout.newTab().setText("RIDE NOW")); 
     tabLayout.addTab(tabLayout.newTab().setText("RIDE LATER")); 
     tabLayout.setTabGravity(TabLayout.GRAVITY_FILL); 
     tabsAdapter=new TabsAdapter(getSupportFragmentManager(),tabLayout.getTabCount()); 
     viewPager.setAdapter(tabsAdapter); 
     viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout)); 
     tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 
      @Override 
      public void onTabSelected(TabLayout.Tab tab) { 
       viewPager.setCurrentItem(tab.getPosition()); 
      } 

      @Override 
      public void onTabUnselected(TabLayout.Tab tab) { 

      } 

      @Override 
      public void onTabReselected(TabLayout.Tab tab) { 

      } 
     }); 
//  FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); 
//  fab.setOnClickListener(new View.OnClickListener() { 
//   @Override 
//   public void onClick(View view) { 
//    Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 
//      .setAction("Action", null).show(); 
//   } 
//  }); 

     DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
     ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
       this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); 
     drawer.setDrawerListener(toggle); 
     toggle.syncState(); 

     NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); 
     navigationView.setNavigationItemSelectedListener(this); 

    } 

    @Override 
    public void onBackPressed() { 
     DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
     if (drawer.isDrawerOpen(GravityCompat.START)) { 
      drawer.closeDrawer(GravityCompat.START); 
     } else { 
      super.onBackPressed(); 
     } 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // Handle action bar item clicks here. The action bar will 
     // automatically handle clicks on the Home/Up button, so long 
     // as you specify a parent activity in AndroidManifest.xml. 
     int id = item.getItemId(); 
     switch (id){ 
      case android.R.id.home: 
       NavUtils.navigateUpFromSameTask(this); 
      return true; 
     } 

     //noinspection SimplifiableIfStatement 
//  if (id == R.id.action_settings) { 

//  } 

     return super.onOptionsItemSelected(item); 
    } 

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

     if (id == R.id.nav_myrides) { 
      startActivity(new Intent(MainActivity.this,MyRides.class)); 

     } else if (id == R.id.nav_profile) { 
      startActivity(new Intent(MainActivity.this,MyProfile.class)); 

     } else if (id == R.id.nav_promotions) { 
      startActivity(new Intent(MainActivity.this,Promotions.class)); 

     } else if (id == R.id.nav_changepassword) { 
      startActivity(new Intent(MainActivity.this,ResetPassword.class)); 

     } else if (id == R.id.nav_logout) { 
      Intent intent=new Intent(MainActivity.this,LoginActivity.class); 
      intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
      startActivity(intent); 

     } 

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


} 
+0

Ich denke, es transparent ist. versuche, Hintergrundfarbe/Textfarbe einzustellen. –

+0

Danke für die Wiederholung, ich werde es versuchen und lassen Sie es wissen –

+0

Bitte geben Sie auch xml-Datei ... –

Antwort

2

Sie müssen diese Eigenschaft unter NavigationView hinzufügen.

app:itemIconTint="@android:color/white" 
app:itemTextColor="@android:color/white" 

können Sie hier Ihre eigene Farbe verwenden. Ich benutze white color auf diese Weise @android:color/white.

vollständigen Code:

<android.support.design.widget.NavigationView 
     android:id="@+id/nav_view" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:fitsSystemWindows="true" 
     android:background="#0072BA" 
     app:headerLayout="@layout/nav_header_main" 
     app:menu="@menu/activity_main_drawer" 
     app:itemIconTint="@android:color/white" 
     app:itemTextColor="@android:color/white"/> 
+0

Danke viel Bruder es funktioniert @ ironman –

+0

@SatheeshJagana können Sie die Antwort annehmen .. – Ironman

+0

ja Bruder @ Ironman –

0

Ändern Sie colorAccent, colorPrimary bis zu einem gewissen sichtbare Farbe

Ändern Sie die Farbe in android.support.design.widget.NavigationView

App: itemIconTint = "# 000" App: itemTextColor = "# 000"

Verwandte Themen