从片段设置活动工具栏行为



我有一个打开Activity' hosting a片段的应用程序。

Fragment显示一个RecyclerView,用户可以点击RecyclerView中的项目,被带到由同一Activity托管的新Fragment

Toolbarxml 项位于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()方法执行此操作,但无济于事:

@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()

然后创建自定义方法,该方法将返回工具栏。或者,如果您通过方法set支持操作栏设置工具栏等工具栏,只需使用getSupportActionBar

你不需要每次都找到你的工具栏,因为你已经做到了。

最新更新