我正在構建一個應用程序,在該應用程序中我必須在Toolbar
中顯示MenuItem
中的PopupMenu
。問題是我必須在MenuItem
中點擊2次,以便我可以看到PopupMenu
。MenuItem需要點擊2次才能激活
我的代碼:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.lobby_activity_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
mFilterMenuItem = findViewById(R.id.action_search_filter_menu_item);
switch (item.getItemId()) {
case R.id.action_search_menu_item: {
Toast.makeText(this, "Search button clicked", Toast.LENGTH_SHORT).show();
return true;
}
case R.id.action_search_filter_menu_item:{
mFilterMenuItem.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TileMenu tileMenu = new TileMenu(GuestActivity.this, v, R.menu.filter_menu);
Log.e("MENU ITEM", mFilterMenuItem.toString());
}
});
return true;
}
default: {
return super.onOptionsItemSelected(item);
}
}
}
如何解決它與1次點擊來激活?
免去您的代碼塊。您不需要'OnClickListener'您菜單項 - 被點擊的項目是在方法參數'onOptionsItemSelected(MenuItem項目)' –
提供的'MenuItem'謝謝你隊友保存的一天! –