onOptionsItemSelected not called when using actionLayout (SherlockActionBar)

前端 未结 6 1104
误落风尘
误落风尘 2020-12-01 07:39

The method onOptionsItemSelected isn\'t being called when using actionLayout in a menu item. Am I missing something, or is it a known problem with SherlockActionBar?

6条回答
  •  无人及你
    2020-12-01 07:46

    You should use MenuItemCompat.getActionView(menuItem); instead of item.getActionView(); if you are developing for older version.

    @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.menu, menu);
            for (int i = 0; i< menu.size() ;i++) {
                MenuItem menuItem = menu.getItem(i);
                if (menuItem.getItemId() == R.id.add_item) {
                    View view = MenuItemCompat.getActionView(menuItem);
                    if (view != null) {
                        view.setOnClickListener(new OnClickListener() {
    
                            @Override
                            public void onClick(View v) {
                                Intent intent = new Intent(MainActivity.this, ToDoActivity.class);
                                startActivity(intent);
                            }
                        });
                    }
                }
            }       
            return true;
        }
    

提交回复
热议问题