Исключение всплывающего меню из диалога - PullRequest
0 голосов
/ 11 сентября 2018

У меня есть всплывающее меню, открывающееся из Imagview в диалоге.При нажатии на пункт меню, у меня есть текст в речь, которая говорит обратный отсчет от 10 до 1. Я хочу закрыть меню после нажатия на пункт меню.Я попытался popup.dismiss () и closeOptionsMenu (), но не повезло.Пожалуйста, помогите мне.

Imageview counter = (Imageview) findViewById(R.id.imgview);
counter.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        PopupMenu countMenu = new PopupMenu(MainActivity.this,counter);
        countMenu.getMenuInflater().inflate(R.menu.counter_menu, 
         countMenu.getMenu());

countMenu.setOnMenuItemClickListener(new 
PopupMenu.OnMenuItemClickListener() {

            @Override
            public boolean onMenuItemClick(final MenuItem menuItem) {
String selectedCount = menuItem.getTitle().toString();
countMenu.dismiss();
//Tried closeOptionsMenu(); too here but doesn't work

if(selectedCount.equals("Some String")
{
//TTS counter from 10 to 0
 return true;
}
countMenu.show();

1 Ответ

0 голосов
/ 12 сентября 2018

Return true будет вне вашего , если оператор. Вы поместили оператор return внутри , если , и вот почемуон закрывается после завершения подсчета.

Пример кода:

 countMenu.dismiss();

 return true;

 if(selectedCount.equals("Some String")
 {
 //TTS counter from 10 to 0
 }
...