2013-04-25 41 views
-1

我使用AsyncTask任務從Web服務器加載響應。根據響應的內容,我想要開始一個新的活動或顯示一條錯誤消息。現在我試圖在AsyncTask類的onPostExecute方法中執行此操作。我得到一個構造函數未定義錯誤,當我嘗試創建意圖。嘗試在onyncTask的onPostExecute方法中創建一個intent

這裏是我的代碼:

protected void onPostExecute(String result) { 
     // code thate xcicutes after thread 
     if (result.contains("OK")) 
     { 
      PreSave(); 

      Intent I; 

      if (ChatOrGame==1) 
       i = new Intent(cGlobals.mParent); 
      else 
       i = new Intent(cGlobals.mParent); 

      startActivity(i);  
     } 
     else 
     { 
      if (bInternetError==false) 
      { 
      new AlertDialog.Builder(cGlobals.mParent) 
      .setTitle("Log In Error") 
      .setMessage("User name or password") 
      .setNeutralButton("close",new DialogInterface.OnClickListener() 
      { 
       public void onClick(DialogInterface dlg, int i) 
       { 

       }}).show();    

      } 
     } 

    } 
+3

什麼是'cGlobals.mParent'?一個'上下文'? – codeMagic 2013-04-25 14:15:05

+0

你可以得到公共變量的結果,並使用它來處理異步方法外的條件..這就是我如何正常處理 – 2013-04-25 14:16:53

+4

意圖「我」和「我」=新意圖 – bofredo 2013-04-25 14:18:16

回答

2

您需要添加你要開始你的Intent

i = new Intent(cGlobals.mParent, NextActivity.class); 

Intent沒有Constructor只接受Context所以你Activity得到這個錯誤。您需要添加Activity才能啓動,以便Intent知道如何處理這些信息。這當然假設cGlobals.mParent是一個context,我相信這是你在別處使用它的方式以及你給它的名字。而你意味着Intent IIntent i我認爲這是一個拼寫錯誤或者甚至不應該編譯

注意作爲@Trinimon的評論說,可以肯定無論Activity你開始與Intent的定義manifest或者您將有更多問題

+0

很好的答案;將刪除我的。值得一提的是,該活動必須在Android清單文件中定義。 – Trinimon 2013-04-25 14:34:56

+0

謝謝,不是目前的問題,但我編輯你的評論,好點 – codeMagic 2013-04-25 14:41:38

相關問題