无法选择Android NavigationView
我有一个抽屉布局在前面和导航视图在后端代码 我有3个活动,主要活动包括抽屉布局、列车活动、设置活动 当我想从Main->Train导航时,我只是启动intent,而不是完成MainActivity,因为MainActivity包含googlemap。我将主要活动保存到backback中 导航Main->Train后,在TrainActivity中,我想导航回MainActivity on Backpressed或其他任何方法 问题是,当我选择Train或SettingActivity时,MainActivity上的NavigationView无法启动intent 导航场景Main->Train->Main->Setting/Train,但我得到的是Main->Train->Back to Main->NavigationView无法再次选中NavigationView上的选中列表菜单 代码如下:无法选择Android NavigationView,android,navigationview,Android,Navigationview,我有一个抽屉布局在前面和导航视图在后端代码 我有3个活动,主要活动包括抽屉布局、列车活动、设置活动 当我想从Main->Train导航时,我只是启动intent,而不是完成MainActivity,因为MainActivity包含googlemap。我将主要活动保存到backback中 导航Main->Train后,在TrainActivity中,我想导航回MainActivity on Backpressed或其他任何方法 问题是,当我选择Train或SettingActivity时,Main
private void setupDrawerContent(NavigationView navigationView) {
initNavigationProfile();
navigationView.setNavigationItemSelectedListener(
new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
menuItem.setChecked(true);
mDrawerLayout.closeDrawers();
final Context context = getBaseContext();
final Handler handler = new Handler();
switch (menuItem.getItemId()) {
case R.id.map_home:
showLoadingBar();
final Intent mainIntent = new Intent(getApplicationContext(), MainActivity.class);
handler.postDelayed(new Runnable() {
@Override
public void run() {
mainIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(mainIntent);
handler.removeCallbacks(this);
hideLoadingBar();
finish();
}
}, 300L);
break;
case R.id.train_schedule:
showLoadingBar();
final Intent trainIntent = new Intent(getApplicationContext(), TrainScheduleActivity.class);
handler.postDelayed(new Runnable() {
@Override
public void run() {
trainIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(trainIntent);
handler.removeCallbacks(this);
hideLoadingBar();
finish();
}
}, 300L);
break;
这里的代码是反压的
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
super.onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
我不知道是什么导致NavigationView无法选择任何项目 我认为您不应该使用Runnable启动其他活动。只需在新的意图完成后调用startActivity,然后在另一个视图上添加OnBackpress代码activity@user3641702嗯。我认为这是我为过渡做UX的额外代码。但这与导航视图问题有关吗?您的onBackPressed似乎还可以。runnable可能会干扰活动的启动方式。如果你打开你的主要活动,你是否在导航抽屉中遇到任何奇怪的行为?或者问题是在从一项活动转到另一项活动时发生的?问题是在从另一项活动回来后再转到另一项活动时发生的,说起来似乎很复杂。但以下是场景:主->列车->返回主->发生错误不能选择并膨胀新活动