2011-11-16 21 views
0

當我按主頁按鈕將我的應用程序推到背景中,然後繼續時,有時候應用UI元素沒有焦點。整個屏幕呈灰色(亮度降低),並且沒有任何屏幕按鈕可以被點擊。更何況,事件的硬件按鈕除了音量,電源和家庭不起作用。唯一的解決辦法是強制停止應用程序並重新開始。 此問題不可複製,並且在隨機場合中很少發生。其他人在他們的應用程序中看到過這個問題嗎Android:當背景中的對話被解除時,活動不會獲得焦點

編輯::::::::::

我發現真正的問題。這是更具可重複性:我打網絡服務下載數據在AsyncTAsk,和顯示ProgressDialog。當顯示對話框時,如果用戶按下home鍵,應用程序將被髮送到後臺。同時,下載完成,對話框被解除。現在,當用戶回到應用程序時,activity不會收到焦點,實質上,它不會再收到任何觸摸事件

這裏的異步任務的添加代碼:

class GetStoresTask extends AsyncTask<String, Void, List<String>> { 
    ProgressDialog pd; 

    protected void onPreExecute() { 
     super.onPreExecute(); 
     pd = ProgressDialog.show(DisplayStoresActivity.this, 
       getResources().getString(R.string.pleaseWait), 
       getResources().getString(R.string.dialogFindingStores), 
       true, true); 
     pd.setOnCancelListener(new OnCancelListener() { 

      public void onCancel(DialogInterface dialog) { 
       // TODO Auto-generated method stub 
       GetStoresTask.this.cancel(true); 
      } 
     }); 
    } 

    protected List<Message> doInBackground(String... params) { 
     // carried out my download here 
          return downloadStoresList(); 
    } 

    protected void onPostExecute(List<String> result) { 
     // TODO Auto-generated method stub 
     pd.dismiss(); 
          adapter.notifyDataSetChanged(); 
     super.onPostExecute(storesList); 
    } 

看來當應用程序在後臺,並駁回了對話框,焦點不會轉移到對話框我Activity。有沒有人遇到類似的問題,或有任何解決方案?

+0

似乎你正在做一些繁重的操作onResume()的活動。 –

回答

0

不是一個常見問題。當你在重新啓動停留在UI上的屏幕/應用程序時執行一些繁重的操作時,會發生這種情況。所以分析各種實現。

相關問題