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