后退按钮在 actionBar 中不起作用

Back button is Not working in actionBar

通过按 actionBar 图标,我应该转到上一个 Fragment,但它不会。我的意思是当我按下操作栏图标时没有任何反应。

public class SecFrag extends Fragment {

// constructor and onCreateView goes here

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        Toolbar toolbar = (Toolbar)getActivity().findViewById(R.id.toolbar);
        ((AppCompatActivity)getActivity()).setSupportActionBar(toolbar);
        ActionBar actionBar=((AppCompatActivity)     getActivity()).getSupportActionBar();
        actionBar.setDisplayShowHomeEnabled(true);
        actionBar.setDisplayHomeAsUpEnabled(true);
        actionBar.setHomeButtonEnabled(true);


        recyclerView= (RecyclerView) getActivity().findViewById(R.id.recyclerViewInSecFragment);
        RecyclerAdapter adapter=new RecyclerAdapter(MainActivity.musicList,null,null);
        recyclerView.setAdapter(adapter);
        recyclerView.setLayoutManager(new LinearLayoutManager(getContext()));
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        Log.e("SEC",item.getItemId()+"");
        switch (item.getItemId())
        {
            case android.R.id.home:
            {
                Log.e("SECFRAG","CLICKED");
                break;
            }
           default:break;
        }
        return super.onOptionsItemSelected(item);
    }
}

所以不会触发switch语句中的android.R.id.home。所以请提出为什么这不起作用。

您需要通过调用 setHasOptionsMenu(true) 指示 android 堆栈您的片段将处理选项菜单而不是持有者 activity 并且文档建议将其放入您片段的 onCreate() 回调。这将使您的日志消息被适当地调用。