无法选择Android NavigationView

时间:2015-11-25 12:03:45

标签: android navigationview

我的前端有一个DrawerLayout,后端代码有一个NavigationView。

我有3个Activity,MainActivity(包含DrawerLayout),TrainActivity,SettingActivity。

当我想从Main导航时 - >训练,我只是启动意图而不是完成MainActivity(因为MainActivity包含googlemap)。我将MainActivity保存到backstack中。

导航Main后 - >训练,然后在TrainActivity我想导航回MainActivity(onBackPressed或任何方法)。

问题是当我选择Train或SettingActivity时,MainActivity上的NavigationView无法启动意图。

导航场景Main - >火车 - >主要 - >设置/训练,但我得到的是Main - >火车 - > (返回主页) - >无法再次选择NavigationView(NavigationView上的检查菜单)。

以下是代码:

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;

这里的代码是onbackPressed();

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.home:
            super.onBackPressed();
            return true;
    }

    return super.onOptionsItemSelected(item);
}

我对导航视图无法选择任何项目的原因一无所知。

0 个答案:

没有答案