使用导航抽屉菜单选择更改应用程序标题

时间:2016-08-08 07:27:36

标签: java android navigation-drawer android-navigation-drawer

所以我正在尝试创建一个应用程序,当我单击导航抽屉中的菜单项时,它会将应用程序标签名称更改为所选内容的名称。我找了一个答案但找不到任何东西。任何帮助或指示将不胜感激。

3 个答案:

答案 0 :(得分:0)

你的意思是顶部的标题?如果是,那么你可以通过:

String currentActiviyName = "My Activity";

Toolbar activityToolbar = findViewById(R.id.your_toolbar_id);
setSupportActionBar(activityToolbar);
if (getSupportActionBar != null) {
   getSupportActionBar.setTitle(currentActiviyName);
}

这将在您想要在顶部指定标题的每个活动中调用。

提示:如果您打算在如此多的活动中使用它,您可能需要创建一个BaseActivity,并将其作为方法添加到那里,然后让您的其他活动扩展它。只需调用方法,您就可以设置所需的标题。

祝你好运!

答案 1 :(得分:0)

所以我做了以下工作,似乎工作正常。显然,我将每个字符串放在string.xml文件中。

 FragmentManager fragmentManager = getFragmentManager();
    if (id == R.id.nav_first_layout) {
        fragmentManager.beginTransaction().replace(R.id.content_frame, new FirstFragment()).commit();
        setTitle(R.string.speed_graph);
    } else if (id == R.id.nav_second_layout) {
        fragmentManager.beginTransaction().replace(R.id.content_frame, new SecondFragment()).commit();
        setTitle(R.string.drive_player);
    } else if (id == R.id.nav_third_layout) {
        fragmentManager.beginTransaction().replace(R.id.content_frame, new ThirdFragment()).commit();
        setTitle(R.string.google_maps);
    } else if (id == R.id.nav_share) {
        Intent sendIntent = new Intent();
        sendIntent.setAction(Intent.ACTION_SEND);
        sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
        sendIntent.setType("text/plain");
        startActivity(Intent.createChooser(sendIntent, getResources().getText(R.string.send_to)));
    }

答案 2 :(得分:0)

在每个片段中使用此代码,

@Override 

public void onResume() {
      super.onResume();
      ((AppCompatActivity) getActivity()).getSupportActionBar().setTitle("Home");
}