【问题标题】:Navigation item's title disappeared when clicked单击时导航项的标题消失
【发布时间】:2016-08-17 06:37:42
【问题描述】:

我创建了带有导航视图的抽屉。我有我正在调用其他活动的导航项。

问题是当我单击导航项时,其他活动启动,如果我回到主活动并打开抽屉,则单击的导航项的标题消失,只有我可以看到该项目的图标。

代码:

public class MainActivity extends AppCompatActivity
        implements NavigationView.OnNavigationItemSelectedListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        toolbar.setNavigationIcon(R.drawable.menu_icon);
        setSupportActionBar(toolbar);

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

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

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

        if (id == R.id.nav_list) {

            startActivity(new Intent(MainActivity.this, LaunchVenueServiceActivity.class));
            // Handle the camera action
        }

        else if (id == R.id.nav_dashboard) {


            startActivity(new Intent(MainActivity.this, MainActivity.class));

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

        else if (id == R.id.nav_chat) {


        } else if (id == R.id.nav_notes) {

           startActivity(new Intent(MainActivity.this,NotesActivity.class));

        }  else if (id == R.id.nav_user_guide) {

        }
        else if(id == R.id.nav_log_out)
        {

            SharedPreferences.Editor editor = getSharedPreferences("username",MODE_PRIVATE).edit();
            editor.remove("UserUsername");
            editor.commit();

            Intent intent1 = new Intent(MainActivity.this,LoginActivity.class);
            intent1.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
            intent1.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
            finish();

            startActivity(intent1);

        }

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

}

这可能是什么原因?有人可以帮忙吗?谢谢。。

【问题讨论】:

  • 这可能与导航项的选定颜色有关。要检查这一点,请更改导航抽屉的背景颜色。

标签: android navigationitem


【解决方案1】:

得到了解决方案.. 刚刚尝试更改导航项文本的颜色并且它起作用了。不知道为什么以及如何..

navigationView.setItemTextColor(ColorStateList.valueOf(Color.BLACK));

【讨论】:

  • 你拯救了我的一天,我尝试将 xml 文件中的项目颜色更改为黑色,但它不起作用,菜单项只是消失在布局颜色中。但是 activity.java 文件中的相同颜色使视图项显示出来
  • 不应该在 XML 的某个地方而不是代码中处理它吗?有没有一种风格可以纠正这个问题?
【解决方案2】:

如果您在清单中更改了布局样式,则可能会出现这种情况。检查您是否已经定义了默认样式的所有项目,尤其是颜色。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-27
    • 2015-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多