Action Bar detect back button click in fragment

后端 未结 3 472
独厮守ぢ
独厮守ぢ 2021-01-21 06:30

I have a Fragment with action bar back button enabled in it.

Code :

@Override
    public void onAttach(Activity activity) {
        super.onAttach(activi         


        
相关标签:
3条回答
  • 2021-01-21 07:08

    I was facing the same problem, but then I put this code inside the activity and the back button worked from inside the fragment:

    @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            switch (item.getItemId()) {
            case android.R.id.home:
                Toast.makeText(getActivity(), "Back", Toast.LENGTH_LONG).show();
                break;
            default:
                break;
            }
            return super.onOptionsItemSelected(item);
        }
    
    0 讨论(0)
  • 2021-01-21 07:09

    Better late than never, please try this>

     @Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container,
                Bundle savedInstanceState) {
            mInflater = (LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View view = mInflater.inflate(R.layout.fragment_layout, container, false);
            //set setHasOptionsMenu on true here on CreateView method
            setHasOptionsMenu(true);
            return view;
        }
    

    and implement

    @Override
    public boolean onOptionsItemSelected(MenuItem item){
                if (item.getItemId() == android.R.id.home) {
                    if (getActivity() != null) {
                        getActivity().onBackPressed();
                    }
                    return true;
                };
                return super.onOptionsItemSelected(item);
     }
    
    0 讨论(0)
  • 2021-01-21 07:21
    View cView = getLayoutInflater().inflate(R.layout.header, null);
    cView.findViewById(R.id.btn_id).setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
                         // Do stuff here.
        }
    });
    actionBar.setCustomView(cView);
    
    0 讨论(0)
提交回复
热议问题