2015-02-08 39 views
5

首先讓我解釋一下,讓你們能更好地理解我的問題:更改動作條使用標題片段

  • 我使用的動作條。
  • 我有一個片段調用收藏夾,我將一些聯繫人保存爲收藏夾。
  • 當您點擊一個聯繫人時,它會將我帶到另一個片段,並將聯繫人編號放在editText上。
  • 新的片段是調用轉移。

所以我的問題是,當用戶點擊聯繫,帶我到另一個片段,但操作欄上的標題仍然與最喜歡的標題,而不是新的,我怎麼能夠實現改變標題?

我已經嘗試在click方法上使用setTitle,但仍然無法正常工作。

非常感謝! 對不起我的英文不好!

+1

可以嗎請批准我的回答? – 2016-03-24 21:21:20

+0

@NOT_A_PROGRAMMER完成!謝謝! – 2016-03-26 01:10:21

+0

謝謝@Jesion Duran – 2016-03-26 01:11:08

回答

30

在你的活動:

public void setActionBarTitle(String title) { 
    getSupportActionBar().setTitle(title); 
} 

而在你的片段(你可以把它的onCreate或的onResume):

public void onResume(){ 
     super.onResume(); 

    // Set title bar 
    ((MainFragmentActivity) getActivity()) 
      .setActionBarTitle("Your title"); 

} 
+0

像魅力一樣工作。 – 2016-04-23 08:20:33

+0

@NOT_A_PROGRAMMER你「REALLY_A_PROGRAMMER」你救了我的一天.. :) Thankssss – MashukKhan 2016-08-01 06:13:30

+0

大樣本我沒有意識到,onResume可以覆蓋我的Tittle – skryshtafovych 2017-01-20 00:55:23

-2

試試這個onCreateView方法在新的片段上。

ActionBar actionbar = getActivity().getActionBar(); 
    actionbar.setTitle(getResources().getString(R.string.NewTittle)); 
+0

嗨,感謝您的回答,但它沒有奏效! – 2015-02-08 05:53:10

9

在您的片段

public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 

    getActivity().setTitle("Team B"); 

    View rootView = inflater.inflate(R.layout.fragment_team_b, container, false); 

    return rootView; 
}