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;
}
}
Ich denke, es transparent ist. versuche, Hintergrundfarbe/Textfarbe einzustellen. –
Danke für die Wiederholung, ich werde es versuchen und lassen Sie es wissen –
Bitte geben Sie auch xml-Datei ... –