【问题标题】:Back button is Not working in actionBar后退按钮在 actionBar 中不起作用
【发布时间】:2016-03-23 21:12:33
【问题描述】:

按 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。所以请说明为什么这不起作用。

【问题讨论】:

标签: android android-fragments android-actionbar android-toolbar


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-27
    • 1970-01-01
    • 1970-01-01
    • 2014-12-27
    • 2014-05-06
    • 1970-01-01
    相关资源
    最近更新 更多