簡體   English   中英

從片段設置活動工具欄行為

[英]Set Activity Toolbar Behavior from Fragment

我有一個可打開Activity' hosting a片段的Activity' hosting a的應用程序。

Fragment顯示一個RecyclerView ,用戶可以在RecyclerView單擊一個項目,以將其帶到由同一Activity托管的新Fragment

Toolbar xml項位於Activity ,而不是每個Fragment 當用戶導航到第二個Fragment ,我希望他們能夠單擊“后退”按鈕導航回到上一個Fragment

下面是導航從代碼FragmentFragment

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.

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