![](/img/trans.png)
[英]Can't able to start new activity from onPostExecute method in Android
[英]Can't run new activity from onPostExecute
從httpUrlConnection獲得響應后,我無法啟動mainActivity。 這是我的onPostExecute方法
protected void onPostExecute(String[] result) {
serv.httphelper.handleResults(result);
}
在方法handleResult()中,im處理響應代碼。 如果響應代碼為200,我想在我的loginActivity類中運行一個新方法
public void handleResults(String[] result) {
status = result[0].toString();
instructions = result[1].toString();
jsonString = result[2];
Log.d("DEBUG", status);
if (status.equals("200")) {
serv.loginActivity.proceed();
} else if (status.equals("400")) {
serv.loginActivity.loginError();
} else if (status.equals("401")) {
serv.loginActivity.loginError();
}
}
當我嘗試從proceed()方法開始一個新的活動時,我得到一個nullpointerexception
public void proceed(){
startActivity(new Intent (LoginActivity.this, MainActivity.class));
Log.d("TEST", "Proceed success");
}
我為任何想知道的人提供的服務課程:
public class Service {
public static HttpHelper httphelper = new HttpHelper();
public static HttpConnect conn = new HttpConnect();
public static LoginActivity loginActivity = new LoginActivity();
}
這是我的logCat:
提前致謝!
您的問題是從以下行開始活動:
startActivity(new Intent (LoginActivity.this, MainActivity.class));
好吧,您創建了一個嘗試進入LoginActivity.this
的意圖,該意圖可能不存在!
取而代之的是,您必須提供當前正在運行的真實活動的實例。
我建議您使用的解決方案是將當前正在運行的活動的實例傳遞給proceed()
而不是LoginActivity.this
。
如果您沒有當前活動,請嘗試放置應用程序的上下文,並為其添加新任務的標志。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.