簡體   English   中英

Android actionBar.setTitle使getActivity.setTitle()不起作用

[英]Android actionBar.setTitle makes getActivity.setTitle() not working

我有一個Android應用程序,它包含幾個片段。 每次顯示片段時,我都會將ActionBar標題設置為此片段。

我這樣做了

getActivity().setTitle("abc");

在應用程序的后期,我需要使用Fragment的ActionBar進行更多工作。 所以我不得不改變這樣的標題:

ActionBar actionBar = ((AppCompatActivity) getActivity()).getSupportActionBar();
if (actionBar != null)
   actionBar.setTitle("xyz");

這完全正常,並將標題更改為“xyz”。 仍然在更改為另一個使用來自Activity本身的setTitle(“abc”)的片段時,標題仍然保持在“xyz”。 一旦我第一次完成此操作,我只能使用getSupportActionBar()對象更改標題。

我的問題是:這是正常的嗎? 這個調用是否以某種方式轉換/使正常的Activity-Title無效?

如果檢查活動源代碼,則setTitle()方法將文本設置為actionBar本身。

考慮有兩個片段,A和B.

片段A默認顯示在活動中。

因此,稍后當您從片段B更新標題時,可以使用getSupportActionBar()或getActionBar()方法並更新標題。

由於這是最近發生的變化,即使你回到前面的片段,也就是片段A,標題將是相同的,如片段B中所設置的那樣。

如果要再次更改標題,請在片段A的onResume()方法中執行此操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM