3 回答
TA貢獻1883條經(jīng)驗 獲得超3個贊
你在做什么是對的。Fragments沒有訪問ActionBarAPI的權(quán)限,因此您必須致電getActivity。除非您Fragment是靜態(tài)內(nèi)部類,否則您應該WeakReference為父級創(chuàng)建一個并調(diào)用Activity。getActionBar從那里。
要ActionBar在使用自定義布局時為您設置標題,您Fragment需要致電getActivity().setTitle(YOUR_TITLE)。
你打電話的原因setTitle是因為你打電話getTitle為你的標題ActionBar。getTitle返回該標題Activity。
如果你不想讓通話getTitle,那么你就需要創(chuàng)建一個公共方法,設置你的文字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)注
- 672 瀏覽
添加回答
舉報
