3 回答

TA貢獻(xiàn)1883條經(jīng)驗(yàn) 獲得超3個贊
你在做什么是對的。Fragments沒有訪問ActionBarAPI的權(quán)限,因此您必須致電getActivity。除非您Fragment是靜態(tài)內(nèi)部類,否則您應(yīng)該WeakReference為父級創(chuàng)建一個并調(diào)用Activity。getActionBar從那里。
要ActionBar在使用自定義布局時為您設(shè)置標(biāo)題,您Fragment需要致電getActivity().setTitle(YOUR_TITLE)。
你打電話的原因setTitle是因?yàn)槟愦螂娫抔etTitle為你的標(biāo)題ActionBar。getTitle返回該標(biāo)題Activity。
如果你不想讓通話getTitle,那么你就需要創(chuàng)建一個公共方法,設(shè)置你的文字TextView中Activity承載Fragment。
在您的活動中:
public void setActionBarTitle(String title){
YOUR_CUSTOM_ACTION_BAR_TITLE.setText(title);
}
在您的片段中:
((MainFragmentActivity) getActivity()).setActionBarTitle(YOUR_TITLE);
文件:
Activity.getTitle
Activity.setTitle
另外,您無需調(diào)用this.whatever提供的代碼,只需提示。
- 3 回答
- 0 關(guān)注
- 665 瀏覽
添加回答
舉報