Кнопка не реагирует после нажатия клавиши «Домой» - PullRequest
0 голосов
/ 19 февраля 2012

Действие работает нормально, пока не нажата домашняя клавиша. Затем, когда приложение запускается из меню, действие не реагирует на нажатие кнопки для кнопки, указанной ниже. Когда ориентация меняется, действие снова начинает работать.

Исправлено ли это путем реализации (переопределения) метода ** ?? (т.е. onResume () или onStart ())

Вот мои onStop и onDestroy

  @Override
    protected void onStop()
    {
        if(broadRecvr!=null)    {try{unregisterReceiver(broadRecvr);} catch(RuntimeException re) {re.getStackTrace();}}
        super.onStop(); 
    }
    @Override
    protected void onDestroy()
    {
        super.onDestroy();
        if(wifiToggled)
        {wifi.setWifiEnabled(!wifiToggled);}
    }

это ошибки logcat; весь вывод logcat слишком длинный для вставки:

 E/ActivityManager(99): fail to set top app changed!
 E/KINETO(183): KLOG0C3- xmk_QueryOSQueue SDL Queue empty : WAIT_FOREVER 
 E/KINETO(183): KLOG0A3- ibs_os_GetMsg: Timeout forever for UKCC qHnd 0x814396ac
 E/KINETO(183): KLOG0C3- xmk_QueryOSQueue SDL Queue empty : WAIT_FOREVER 
 E/KINETO(183): KLOG0A3- ibs_os_GetMsg: Timeout forever for UKCC qHnd 0x814396ac
 E/KINETO(183): KLOG0C3- xmk_QueryOSQueue SDL Queue empty : WAIT_FOREVER 
 E/KINETO(183): KLOG0A3- ibs_os_GetMsg: Timeout forever for UKCC qHnd 0x814396ac

Мне интересно, как исправить кнопку, которая не отвечает. Это код кнопки, который не работает после нажатия клавиши возврата:

public void setupButtons()
    {
        buttonScan = (Button) findViewById(R.id.bScan);
        buttonScan.setOnClickListener(new View.OnClickListener() {  
            public void onClick(View v) {    wifi.startScan();  }   });
    }

Я вызываю setupButtons () в методе onCreate.

Также я заметил, что buttonScan не отвечает, когда я иду, чтобы включить GPS через системное меню и затем вернуться.

1 Ответ

0 голосов
/ 21 февраля 2012

решаемая. Как я и предполагал, в моем случае это решается путем реализации метода onResume. Поскольку onCreate не вызывается после возобновления активности. Возобновление происходит после того, как пользователь нажал кнопку «Домой» и вернулся к активности. Поскольку ничего не изменилось, оно не перерисовывается (происходит @ onCreate) до тех пор, пока не будет изменена ориентация. Мне кажется, что это правильный ответ.

@Override
public void onResume() {
    super.onResume();
    //code goes here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...