更改自定义操作栏标题

时间:2013-11-20 09:19:48

标签: android android-actionbar title

我正在使用自定义布局来定位actiobar的标题。

  ActionBar actionBar = getActionBar(); 
  actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
  actionBar.setCustomView(R.layout.action_bar);

其中action_bar是带有textview的简单线性布局

我的问题是我需要每个活动都有不同的名字 - 我需要以编程方式更改主题。所以我正在尝试这样的事情:

private void setActiobarTitle(String title)
{
   LayoutInflater inflator  = (LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
   View v = inflator.inflate(R.layout.action_bar, null);
   TextView titleTxtView = (TextView) v.findViewById(R.id.actionbarTitle);
   titleTxtView.setText(title);
}

当找到并初始化textview时,一切似乎都没问题 - 但标题不会改变。 谁能告诉我这似乎是什么问题?

1 个答案:

答案 0 :(得分:21)

修改setActionbarTitle(),如下所示

 private void setActiobarTitle(String title)
 {

    View v = getActionbar().getCustomView();
    TextView titleTxtView = (TextView) v.findViewById(R.id.actionbarTitle);
    titleTxtView.setText(title);
 }