Java 切换选项卡时更改操作栏的文本
我有一个带标签的操作栏Java 切换选项卡时更改操作栏的文本,java,android,android-actionbar,Java,Android,Android Actionbar,我有一个带标签的操作栏 actionBar = getActionBar(); // Hide Actionbar Icon actionBar.setDisplayShowHomeEnabled(false); actionBar.setDisplayShowTitleEnabled(true); // Create Actionbar Tabs actionBar.setNavigationMode(ActionBar.NAVIGATION_M
actionBar = getActionBar();
// Hide Actionbar Icon
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(true);
// Create Actionbar Tabs
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
// Create first Tab
tab = actionBar.newTab().setTabListener(new BusinessActivity());
// Create your own custom icon
// tab.setIcon(R.drawable.business);
tab.setText("Business");
actionBar.addTab(tab);
我的示例中的BusinessActivity类是extends Fragment
切换选项卡时如何更改操作栏标题?
谢谢。我想:
getActionBar().setTitle("Title");
当您切换标签时,请拨打电话
ActionBar actionBar = getActionBar();
actionBar.setTitle("Your new title");
例如:
public class Test extends Activity implements ActionBar.TabListener{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
getActionBar().setDisplayShowTitleEnabled(true);
ActionBar.Tab t1 = getActionBar().newTab().setText("Tab1").setTabListener(this);
ActionBar.Tab t2 = getActionBar().newTab().setText("Tab2").setTabListener(this);
ActionBar.Tab t3 = getActionBar().newTab().setText("Tab3").setTabListener(this);
getActionBar().addTab(t1);
getActionBar().addTab(t2);
getActionBar().addTab(t3);
}
@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
getActionBar().setTitle(tab.getText());
}
@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
}
@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
}
}
结果:
您不应该调用“new BusinessActivity()”。您应该创建一个匿名类,或者将其设置为当前实例。谢谢,但是如果将其设置为此,我将如何设置选项卡以打开新活动?我的意思是它应该在当前上下文中运行。例如,如果此代码位于名为“MainActivity”的活动中,则应将参数设置为“MainActivity.this”。在任何情况下,都不应创建活动(或服务、广播接收器、内容提供者或应用程序)的新实例。它们是由框架自动创建的。但我再次问,当我按下选项卡时,如何启动其他活动。我的意思是,不仅要更改actionbar的标题,还要在更改标题的同一块中启动新活动,只需调用“startActivity(new Intent(…,…)”。这完全取决于您在此处发布的代码。因为我不知道周围的环境是什么,所以我不能确切地告诉你该写什么。如果这是外部类的一部分,则应将当前活动作为参数发送,或者改用应用程序上下文。