나는 Toolbar
에 MenuItem
의 PopupMenu
을 표시해야하는 응용 프로그램을 구축하고 있습니다. 문제는 MenuItem
에서 2 번 클릭해야 PopupMenu
을 볼 수 있다는 것입니다.MenuItem을 두 번 클릭하여 활성화해야합니다.
내 코드 :
@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 클릭으로 활성화 할?
와 코드의 당신의 블록을 교체하려고 @Tasd에 당신은'OnClickListener' 필요하지 않습니다 당신의 메뉴 아이템 - 클릭 된 아이템은 메소드 인자'onOptionsItemSelected (MenuItem item)'에 제공된'MenuItem'입니다 –
당신을 구해줘서 고맙습니다 !!! –