2013-05-27 52 views
0

開始我已經連續從服務器流汗命令Android的活動創造活動通過異步線程

的AsyncTask

。當接收到來自服務器的特定命令時,如何啓動另一個活動。 在的AsyncTask我寫無限循環,因爲它

從服務器

它應該開始HOMEPAGE活動接收到 「主頁」 消息。

StartActivity(新意圖(NULL,HOMEPAGE.class))

拋出空指針異常。我應該寫什麼而不是null作爲第一個參數。

+0

StartActivity(new Intent(null,HOMEPAGE.class))。你的第一個參數應該是像Activityname.this這樣的活動上下文 – Raghunandan

回答

0

您需要將您的活動上下文對象爲當前活動,如果您的AsyncTask在同一類

startActivity(new Intent(YourActivity.this, HOMEPAGE.class)); 
0

實現讓你的AsyncTask舉行關於你當前活動的活動:

class MyAsyncTask extends AsyncTask { 

    public MyAsyncTask(Activity a) { 
     this.a = a; 
    } 

    // your code 
} 

然後例如,您可以在onProgressUpdate()方法中啓動該活動:startActivity(new Intent(a, Homepage.class))

如果您希望在此之後繼續運行AsyncTask(例如在一段時間後開始另一個活動),那麼必須通過回調方法或類似方法更新活動變量。