2012-06-23 2 views
0

У меня есть простой ProgressDialog, но я понял, что если нажать кнопку поиска, диалог будет уволен. Что я могу сделать, чтобы отключить нажатие кнопки поиска во время этого процесса?Отключить нажатие кнопки поиска во время ProgressDialog

dialog = new ProgressDialog(Main.this); 
dialog.setTitle("Working in progress"); 
dialog.setMessage("Please wait..."); 
dialog.setCancelable(false); 
dialog.show(); 

Я положил это и не работал.

dialog = new ProgressDialog(Main.this){ 
    @Override 
    public boolean onSearchRequested() { 
      return false; 
    } 
    }; 

Это также не работает.

dialog.setOnKeyListener(new DialogInterface.OnKeyListener() { 
     public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { 
      if (keyCode == KeyEvent.KEYCODE_SEARCH && event.getRepeatCount() == 0) { 
       return true; // Pretend we processed it 
      } 
      return false; // Any other keys are still processed as normal 
     } 
    });  

ответ

1

Попробуйте положить

@Override 
public boolean onSearchRequested() { 
     return false; 
} 

в деятельности, а не диалога.

Edit: Также попробуйте добавить код ключа слушателя к деятельности:

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    // your code 
} 
+0

Привет, я попытался также. Не работает. –

+0

ли прослушиватель клавиш обнаруживает что-либо, когда вы нажимаете на поиск? вы попробовали отладку, чтобы узнать, входит ли она в прослушиватель или регистрирует код ключа? – Ixx

+0

, и вы также попытались переопределить onSearchRequested для диалога и активности одновременно? – Ixx

Смежные вопросы