我有一个打开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()
方法执行此操作,但无济于事:
@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
你不需要每次都找到你的工具栏,因为你已经做到了。