2012-02-19 59 views
0

该活动正常工作,直到按下主页键。然后,当该应用程序从菜单启动时,该活动不会响应按下按钮以下列出的按钮。当方向改变时,活动再次开始工作。按下主页键后按钮不响应

这是通过执行(覆盖)一个on * *方法? (即的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 

我想知道如何解决一个没有响应的按钮。 这是不按home键后工作按钮代码:我打电话setupButtons()在onCreate方法

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

此外,我已经注意到,当我通过系统菜单打开GPS然后返回时,buttonScan没有响应。

+0

请发布logcat输出 – 2012-02-19 10:16:33

+0

你什么时候调用'setupButtons()'? – 2012-02-20 23:45:15

回答

0

已解决。据我猜测,这是通过实施onResume方法在我的情况下解决。由于在活动恢复后,onCreate不会被调用。简历发生在用户点击主页按钮并返回活动之后。由于没有任何改变,它不会重新绘制(发生@ onCreate),直到方向改变。对我来说完全有意义为什么这是正确的答案。

@Override 
public void onResume() { 
    super.onResume(); 
    //code goes here 
} 
+0

你知道为什么点击监听器会暂停注册吗?它对我来说似乎没有任何意义,尤其是当您离开并点击后退按钮时,旧的活动已暂停并恢复,并且按钮对我来说似乎仍然有效。 – Kevlar 2013-03-06 00:54:10