[英]Set Activity Toolbar Behavior from Fragment
我有一個可打開Activity' hosting a
片段的Activity' hosting a
的應用程序。
Fragment
顯示一個RecyclerView
,用戶可以在RecyclerView
單擊一個項目,以將其帶到由同一Activity
托管的新Fragment
。
Toolbar
xml項位於Activity
,而不是每個Fragment
。 當用戶導航到第二個Fragment
,我希望他們能夠單擊“后退”按鈕導航回到上一個Fragment
。
下面是導航從代碼Fragment
到Fragment
:
holder.mView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String pollID = mFireAdapter.getRef(holder.getAdapterPosition()).getKey();
Fragment pollFragment = PollFragment.newInstance(pollID);
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.setCustomAnimations(R.anim.fadein, R.anim.fadeout);
ft.add(R.id.poll_feed_fragment, pollFragment);
ft.addToBackStack(null);
ft.commit();
在下一個Fragment
,我想顯示后退按鈕,並嘗試通過無濟於事地訪問.setDisplayHomeUpAsEnabled()
方法來做到這.setDisplayHomeUpAsEnabled()
:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
final View v = inflater.inflate(R.layout.fragment_poll, container, false);
ButterKnife.bind(v);
Toolbar toolbar = getActivity().findViewById(R.id.action_tool_bar);
您可以在片段內部使用方法getActivity。
((Your_activity_class_name)getActivity()).getSupportActionBar()
然后創建自定義方法,這將返回您的工具欄。 或者,如果通過方法setSupportActionBar設置工具欄(如支持操作欄), 則只需使用getSupportActionBar
您不需要每次都找到工具欄,因為您已經做了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.